That's because the for loop begins and ends in the same time step. You must do it so you do a step each frame.
I would do a class called Transition or something, like this.
class Transition
{
public:
float Origin, Destination, Velocity;
Transition(float origin, float destination, float velocity);
void Update(float time);
};
Be original, you can do some different transitions!