# How to do this

• 12-26-2003
cyberCLoWn
How to do this
Here is the code I have written so far. It's just an exercise but there is one thing I'm struggling with.

Code:

```// Practise Exercise #include <iomanip> #include <iostream> using namespace std; int main() {    int acc_number;   float Bbalance;   float charges;   float credits;   float limit;   float Ebalance;     while ( acc_number != -1 )   {       // Get the info       cout << "Enter account number (-1 to end): ";       cin >> acc_number;         cout << "Enter beginning balance: ";       cin >> Bbalance;         cout << "Enter total charges: ";       cin >> charges;         cout << "Enter total credits: ";       cin >> credits;         cout << "Enter credit limit: ";       cin >> limit;         // Calculation       Ebalance = Bbalance + charges - credits;         // if credit limit is exceeded display the following        if ( Ebalance > limit )       {                  cout << fixed << setprecision( 2 );                     cout << "Account:\t\t" << acc_number << '\n'                 << "Credit limit:\t\t" << limit << '\n'                 << "Balance:\t\t" << Ebalance << '\n'                 << "Credit Limit Exceeded.\n" << endl;       }       else             cout << endl;   }      cin.get();   return 0; }```
Now if you'll turn your attention to the while loop you'll notice the condition. For the loop to break a person needs to input -1 into the int acc_number. The thing is, this is only tested at the start of the loop which means that if a user inputs -1 the rest of the loop will continue and will only break once it's reached the end and checks the condition. I've sat for a while trying to figure out how to work around this, but the exercise states I need to use a while loop. I need the loop to break the second -1 is entered by the user into acc_number. Any suggestions?
• 12-26-2003
1veedo
Code:

``` ....... while ( acc_number != -1 )   {       // Get the info       cout << "Enter account number (-1 to end): ";       cin >> acc_number;       //you may be able to just put 'continue;' right here and take out the conditional statement.. I'm at the wrong computer, no compiler       if (acc_number == -1)         break;  //exits the loop   .......```
Try the 'continue;' and see if that works, it's not necisarally faster because continue checks the while loop's parameters but it looks beter, and it's easier to manage.
• 12-26-2003
cyberCLoWn
Code:

```  while ( acc_number != -1 )   {       // Get the info       cout << "Enter account number (-1 to end): ";       cin >> acc_number;             if ( acc_number == -1 )         break;```
I had thought of doing something like that, but then it makes the while's condition a bit pointless. Is this the way to do it or can anyone think of something better?
• 12-26-2003
Omnius
Code:

```#include <iomanip> #include <iostream> using namespace std; int main() {    int acc_number;   float Bbalance;   float charges;   float credits;   float limit;   float Ebalance;     // Get the info   cout << "Enter account number (-1 to end): ";   cin >> acc_number;   while ( acc_number != -1 )   {       cout << "Enter beginning balance: ";       cin >> Bbalance;         cout << "Enter total charges: ";       cin >> charges;         cout << "Enter total credits: ";       cin >> credits;         cout << "Enter credit limit: ";       cin >> limit;         // Calculation       Ebalance = Bbalance + charges - credits;         // if credit limit is exceeded display the following        if ( Ebalance > limit )       {                  cout << fixed << setprecision( 2 );                     cout << "Account:\t\t" << acc_number << '\n'                 << "Credit limit:\t\t" << limit << '\n'                 << "Balance:\t\t" << Ebalance << '\n'                 << "Credit Limit Exceeded.\n" << endl;       }       else             cout << endl;       // Get the info       cout << "Enter account number (-1 to end): ";       cin >> acc_number;     }      cin.get();   return 0; }```
• 12-26-2003
cyberCLoWn
Sometimes I just wanna smack myself with something hard. Thanks so much Omnibus. I'm working through some exercises and it's late. Such a logical thing and I didn't think of it. At least I know now for the future! :D