You don’t need to use quaternions to do what you want, particularly if the car will only be rotating in a plane.
Vector v = car’s current orientation
Vector d = car’s desired orientation
Taking v cross d will give you a third vector, call it axis, that you will want to rotate the car around.
Recall that the dot product of two vectors is: v dot d = |v| * |d| * cos(theta) where theta is the angle between the two vectors. So, to get your angle, take v dot d, divide by the product of their lengths, and then take the acos of this number.
Finally, to rotate the car, you can build a matrix yourself or use glRotatef(theta, axis.x, axis.y, axis.z). Don’t forget to normalize your axis vector and convert theta to degrees.
I hope this is what you meant and I’m not over simplifying your problem