My program goes into an endless loop if the input is anything other than a number. Thoughts on how to fix this? Also want to add a way for the user to type * to exit the program. I've been trying to mess around with it but no luck. Thanks.
#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;
}
}