C++ C++;如果输入不是数字,则循环无限
如果输入不是一个数字,我的程序就会进入一个无止境的循环。如何解决这个问题?还希望为用户添加一种方法,以键入*退出程序。我一直想把它弄得一团糟,但运气不好。谢谢C++ C++;如果输入不是数字,则循环无限,c++,C++,如果输入不是一个数字,我的程序就会进入一个无止境的循环。如何解决这个问题?还希望为用户添加一种方法,以键入*退出程序。我一直想把它弄得一团糟,但运气不好。谢谢 #include <iostream>; using namespace std; void newBalance(int a, int& b, int& c, int& d, int& e, int& f); void accountInfo(int a, int& b,
#include <iostream>;
using namespace std;
void newBalance(int a, int& b, int& c, int& d, int& e, int& f);
void accountInfo(int a, int& b, int& c, int& d, int& e, int& f);
int main()
{
int accountNumberEnter;
int beginBalanceB = 0;
int itemsChargedC = 0;
int creditsD = 0;
int credLimitE = 0;
int balanceD = 0;
int exitLoop = true;
while (exitLoop = true)
{
cout << "Search for an account number: ";
cin >> accountNumberEnter;
cout << endl;
switch (accountNumberEnter)
{
case 1001:
beginBalanceB = 100;
credLimitE = 500;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1002:
beginBalanceB = 200;
credLimitE = 1000;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1003:
beginBalanceB = 700;
credLimitE = 750;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1004:
beginBalanceB = 1500;
credLimitE = 1000;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1005:
beginBalanceB = 565;
credLimitE = 2000;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1006:
beginBalanceB = 1500;
credLimitE = 1000;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1007:
beginBalanceB = 5000;
credLimitE = 10000;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1008:
beginBalanceB = 0;
credLimitE = 850;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1009:
beginBalanceB = 85;
credLimitE = 1000;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
case 1010:
beginBalanceB = 250;
credLimitE = 3000;
accountInfo(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
newBalance(accountNumberEnter, beginBalanceB, itemsChargedC, creditsD, credLimitE, balanceD);
break;
default:
cout << "Account not found.\n" << endl;
exitLoop != true;
}
}
system("pause");
return 0;
}
void accountInfo(int a, int& b, int& c, int& d, int& e, int& f)
{
cout << "Account found\n" << endl;
cout << "Current balance: $"<< b <<"\n" << endl;
cout << "Enter items charged: $";
cin >> c;
cout << endl;
cout << "Enter credits: $";
cin >> d;
cout << endl;
}
void newBalance(int a, int& b, int& c, int& d, int& e, int& f)
{
int balance;
int account;
balance = b + c - d;
if (balance < 0)
{
cout << "Error. New balance is less than 0. Please try again.\n" << endl;
}
else
{
cout << "Account Number: " << a << endl;
cout << "Beginning Balance: $" << b << endl;
cout << "Items Charged: $" << c << endl;
cout << "Credits Applied: $" << d << endl;
cout << "New Balance: $" << balance << endl;
cout << "Credit Limit: $" << e <<"\n" << endl;
if (balance > e)
cout << "\n***Credit Limit Exceeded***" << endl;
}
}
#包括;
使用名称空间std;
无效新天平(内部a、内部b、内部c、内部d、内部e、内部f);
无效会计信息(内部a、内部b、内部c、内部d、内部e、内部f);
int main()
{
国际会计数字出租人;
int beginBalanceB=0;
int itemshargedc=0;
int-creditsD=0;
int credLimitE=0;
整数平衡=0;
int exitLoop=true;
while(exitLoop=true)
{
cout>accountnumberrenter;
cout此处:
正在测试exitLoop
是否不等于true。应为
exitLoop = false;
也许将exitLoop!=真改为exitLoop=!truewhile(exitLoop==真)//需要“==”{我看到的是赋值而不是条件很多。不过,我不认为我经常看到条件而不是赋值!!!@egggvans:AKA…false
…在“你在”时检查循环条件。。。。
exitLoop = false;