Adding, subtracting, and multiplying a vector by a scalar
No.

If this would be production code, you would be better off by

  (define (sub-vect v1 v2) (add-vect v1 (scale-vect v2 -1)))


However, this is not what the exercise asks for, as everything should be written "in terms of constructors and selectors".