bool accessaccount(int input) {
string temp;
int temp2;
ifstream notmyfile ("Accounts.txt");
do {
notmyfile >> temp2;
if (temp2 == input) {
Accno = temp2;
notmyfile >> PIN;
cout << "Enter PIN: "; cin >> temp2;
if (PIN == temp2) {
notmyfile >> Amount >> Fname >> Lname;
}
else return false;
}
else
{
for (int a=0; a<4; a++)
notmyfile >> temp;
}
} while (!notmyfile.eof());
}
这是从文本文件中访问帐户信息的代码。问题是,如果我们以某种方式输入错误的ID(不在文本文件中),它会让帐号成为错误的输入,而其他变量则填充垃圾值。它弄乱了整个ATM程序。有人可以纠正错误吗?如果文件中没有该帐户,我希望该函数返回false。