1) (Вкусовщина) стиль наименования не самый удачный. И переменные и функции называются одинаково - каждое слово с большой буквы без разделителей. Во всех массово применяемых стилях обычно переменные, функции и константы называются по разному. Например, переменные можно называть log_password. Функции и так оставить с большой буквы, а константы - полностью большими буквами.
2) обилие вложенных if. Практикуйте ранний выход. Например в Login() можно сделать так:
if (Data.is_open()) {
std::cout << "Ошибка. У вас нет аккаунта" << std::endl;
return;
}
И весь оставшийся код оказывается на 1 уровень выше.
3) Бесконечные рекурсивные вызовы - это плохо. Рано или поздно программа упадет с закончившимся стеком.
У вас Menu вызывает Login, который опять вызывает Menu. Да и сам Menu тоже.
Лучше сделать в Menu бесконечный цикл (
while(true)
) и или выходить из программы через exit(), или возвращать из Login, что надо завершаться и тогда в Menu делать break.