В моем текстовом файле («UsernamePassword.txt») имеется несколько строк имен пользователей и паролей. Когда я попытался войти в систему, используя имя пользователя и пароль во второй строке или третьей строке, это приведет меня к части «неправильное имя пользователя или пароль». Работает только первая строка имени пользователя и пароля.Как читать несколько текстовых строк
Любое предложение о том, как читать несколько строк?
{
fstream inFile;
string user, pass, username, password;
int choice;
Logo();
cout << endl << endl << endl;
inFile.open("UsernamePassword.txt");
if (!inFile)
cout << "Unable to Open File";
else
{
while (username != user)
cout << endl << endl << endl;
cout << " Please enter username: ";
cin >> user;
cout << " Please enter password: ";
cin >> pass;
{
inFile >> username >> password;
if (user == username && pass == password)
{
system("cls");
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout << "\t ****************************************** " << endl;
cout << "\t ** !!! Welcome to CherryLunch !!! ** " << endl;
cout << "\t ****************************************** " << endl;
cout<<endl<<endl<<endl<<endl<<endl;
system("pause");
system("cls");
MainMenu();
}
else
{
cout<<endl<<endl<<endl<<endl<<endl;
cout << "\t !!! Invalid Username or Password !!!" << endl<<endl;
cout << "\t *** Please try again ***" << endl;
cout<<endl<<endl<<endl<<endl<<endl;
system("pause");
system("cls");
}
}
}
inFile.close();
}
Вы положили свое заявление на неправильную строку? Также покажите фрагмент вашего текстового файла. – David
переместите 'while (имя пользователя! = Пользователь)' одна строка ниже 'cin >> pass;' Я думаю, что это, вероятно, то, что вы намеревались сделать. Это не единственное, что неправильно. –
Это еще один симптом тех же ошибок кодирования, что и в [ваш другой вопрос здесь] (http://stackoverflow.com/questions/28185382/how-to-stop-a-while-loop). Хорошие ответы также применимы и здесь. –