Тема: Як перевірити введені дані користувача з даними з файлу
Простіше кажучи, перше як перевірити рядки всього файлу?
void GetIntoTheSystem(string userlogin, string userpassword) {
ifstream isUserloginTrue("program.txt", ios_base::in);
string line; int verify;
string loginAdministrator = "Admin",
passwordAdministrator = "Admin";
EnterFild(userlogin, userpassword);
if (isUserloginTrue.is_open()) {
while (!isUserloginTrue.eof()) {
getline(isUserloginTrue, line);
if (line == userlogin + " " + userpassword) {
cout << "WELCOME, " << userlogin << endl;
break;
}
else if (userlogin == loginAdministrator && userpassword == passwordAdministrator) {
cout << "You have been enter as administrator!" << endl;
cout << " - DISPLAY USERS: " << endl;
AdminMenu();
break;
}
else {
for (int verify = 0; verify < 3; verify++) {
cout << "\nUncorrect login or password.\n\tAttempts to enter left " << 3 - verify << endl;
EnterFild(userlogin, userpassword);
if (line == userlogin + " " + userpassword) {
cout << "WELCOME, " << userlogin << endl;
}
else if (userlogin == loginAdministrator && userpassword == passwordAdministrator) {
cout << "You have been enter as administrator!" << endl;
cout << " - DISPLAY USERS: " << endl;
AdminMenu();
break;
}
else {
if (verify == 2) {
cout << "\n\nAccess denied!The number of attempts is limited!\n\n\n" << endl;
exit(EXIT_SUCCESS);
}
}
}
}
}
}
else {
cerr << "Error, couldn't be opened the file." << endl;
exit(EXIT_FAILURE);
}
}
З цією функцією великі проблеми. Читає тільки перший рядок файлу і все. Якщо заходити під адміністратором, якщо не з першого разу зайти заціклюівает 2-3 рази вміст файлу