Все, кого я действительно ценю, все читают и помогают мне понять код.Сначала я хотел бы сказать, пожалуйста, не понижайте этот пост, потому что какое-то время я получаю пониженное голосование без какой-либо причины, и я рискую быть заблокированным.
Мой вопрос заключается в том, как вы видите в моем главномфункция, которая у меня есть LoginMenu.cpp файл, который позволяет пользователю войти в учетную запись.Когда функция меню запущена, пользователь спрашивает, хочет ли он создать учетную запись или войти в систему.Если они говорят логин, они передаются функции toLogin, которая является логическим значением.Если они успешно вводят пароль, то toLogin возвращает true.Но когда я запускаю приведенный ниже код, я пытаюсь проверить, равно ли toLogin true или false, если это правда, тогда я даю им доступ к меню приложения.Но проблема в том, что когда я набираю if(obj1.toLogin()==true)
, он снова запускает эту функцию.Но я только хочу увидеть, правда это или нет.Пожалуйста, помогите :) Спасибо всем.
int main()
{
system("Color A");
LoginMenu obj1;
//obj1.menuu();
if(obj1.toLogin()==true)
{
menu();
}
return 0
}
ОБНОВЛЕНИЕ: функция toLogin.
bool LoginMenu::toLogin()
{
string userCheck, userChecktxt;
cout << "What is your username: \n>";
getline(cin, userCheck);
userChecktxt= userCheck + ".txt";
fstream file(userChecktxt.c_str(), ios::in );
if (file.fail()) {
cerr << "Username not found!" << endl;
cout << "Retry again." <<endl;
Sleep(800);
system("CLS");
menuu();
}
string passwordcheck;
string lineus, lineps;
while(!file.eof())
{
file>> lineus;
if(lineus.c_str()==userCheck)
{
found =true;
}
}
if(found==false)
{
cout << "ERROR: Username not found!" <<endl;
menuu();
}
file.close();
fstream ifile(userChecktxt.c_str(), ios::in );
cout <<"Enter Password: " <<endl;
cout <<">" ;
getline(cin,passwordcheck);
while(!ifile.eof())
{
ifile>> lineps;
if(lineps.c_str()==passwordcheck)
{
passfound=true;
cout << "Password is correct! Access is granted!\n";
Sleep(1000);
break;
}
}
if(passfound==false)
{
cout << "Password is incorrect. [Tip:If you forgot the password, register a new account. Data will be lost.]";
Sleep(3000);
system("CLS");
menuu();
}
return true;
}