В программе нет типа «вектор на плоскости», хотя задача про векторы целиком. Вместо этого каждая векторная величина разложена на пару переменных:
float x, y; // радиус-вектор
float v_x, v_y; // скорость
float a_x, a_y; // ускорение
Это самый простой способ, и для двух измерений он вполне рабочий. Плата за простоту – каждую операцию приходится писать дважды, по разу на компоненту, и легко ошибиться, скопировав строку и забыв заменить x на y. Такая опечатка – одна из самых частых в численных расчётах, и ищется она тяжело: программа работает, картинка выглядит правдоподобно, но физика неверна.
Как делают, когда компонент становится много: заводят структуру
struct Vec2 { float x, y; };
и учат её складываться и умножаться на число (это называется перегрузкой операторов). Тогда шаг метода пишется одной строкой на вектор. Для одной планеты это лишняя работа, а вот в задаче о молекулярной динамике, где частиц сотни, такая структура уже есть.
Про структуры – в статье «Свои структуры: struct».