Здраствуйте, я новичок в программирование и учусь программировать на яп C++ и качестве практики решил сделать небольшую программу для регистрации и входа. Так как я не могу адекватно оценивать свой код из за полного отсутствия опыта, я бы хотел чтобы Вы дали конструктивную критику, чтобы в будущем мог отталкиваться от своих ошибок.
Заранее отвечу на вопрос который точно напишут: Я эту программу написал для практики написания кода на C++, а не написание запрос SQL и настройки баз данных. От этого логин и пароль хранятся в txt файле, на вашем пк, не зашифрованном виде, это практика, надеюсь на понимание.
#include <iostream>
#include <fstream>
#include <string>
void Menu();
void Registration(std::string &RegEmail, std::string &RegPassord);
void Login(std::string &LogEmail, std::string &LogPassord);
void Input(std::string& Email, std::string& Password);
int main()
{
Menu();
std::cin.get();
}
void Menu()
{
int Number = 0;
std::string Email;
std::string Password;
std::cout << "-Меню-" << std::endl;
std::cout << "1. Регистрация" << std::endl;
std::cout << "2. Войти" << std::endl;
std::cout << "3. Выход" << std::endl;
std::cout << " " << std::endl;
std::cout << "Введите номер пункта:" << std::endl;
std::cin >> Number;
switch (Number)
{
case 1:
Input(Email,Password);
Registration(Email, Password);
break;
case 2:
Input(Email, Password);
Login(Email, Password);
break;
case 3:
std::cout << " " << std::endl;
exit(0);
break;
default:
system("cls");
std::cout << " " << std::endl;
std::cout << "Нет такого пункта" << std::endl;
std::cout << " " << std::endl;
Menu();
break;
}
}
void Registration(std::string &RegEmail, std::string &RegPassword)
{
std::ofstream Data("Data.txt");
Data << RegEmail << std::endl << RegPassword;
Data.close();
std::cout << " " << std::endl;
std::cout << "Вы успешно зарегистрировались!" << std::endl;
std::cout << " " << std::endl;
Menu();
}
void Login(std::string &LogEmail, std::string &LogPassword)
{
std::string Email;
std::string Password;
std::ifstream Data("Data.txt");
if (Data.is_open())
{
std::getline(Data, Email);
std::getline(Data, Password);
Data.close();
if (LogEmail == Email && LogPassword == Password)
{
system("cls");
std::cout << " " << std::endl;
std::cout << "Вы вошли в систему!" << std::endl;
std::cout << " " << std::endl;
}
else
{
system("cls");
std::cout << " " << std::endl;
std::cout << "Не верный логин или пароль" << std::endl;
std::cout << " " << std::endl;
Menu();
}
}
else std::cout << "Ошибка. У вас нет аккаунта" << std::endl;
}
void Input(std::string &Email, std::string &Password)
{
system("cls");
std::cout << "-Вход-" << std::endl;
std::cout << "Почта: ", std::cin >> Email;
std::cout << "Пароль: ", std::cin >> Password;
}