0

我正在尝试在第二个循环中“输入帐号”。如果我在“While”控制结构中输入“输入帐号”。它会在第一个循环中打印两次。那么我该如何解决这个问题呢?

/* Make a program that will determine if a department store customer has exceeded the
credit limit on a charge account*/
#include <iostream>

#include <iomanip>

using namespace std;

int main()
{
    int aNum,Always;

    double balance,iTotal,cTotal,cLimit,NewBal;

    cout << "Enter account number: ";
        cin >> aNum;

     while ( aNum != -1 )
    {

        cout << "Enter beginning balance: ";
            cin >> balance;
            cout << setiosflags( ios::fixed | ios::showpoint ) << setprecision( 2 );

        cout << "Enter total charges: ";
            cin >> iTotal;
            cout << setiosflags( ios::fixed | ios::showpoint ) << setprecision( 2 );

        cout << "Enter total credits: ";
            cin >> cTotal;
            cout << setiosflags( ios::fixed | ios::showpoint ) << setprecision( 2 );

        cout << "Enter credit limit: ";
            cin >> cLimit;
            cout << setiosflags( ios::fixed | ios::showpoint ) << setprecision(2);

        cout << endl;

        NewBal = balance + iTotal - cTotal;

       if ( NewBal >= cLimit ) {

                    cout << "Account: " << setw(9) << aNum << endl;
                    cout << "Credit limit: " << cTotal << endl;
                    cout << "Balance: " << setw(9) << balance << endl;
                    cout << "Credit limit exceeded." << endl;
                    cout << endl;
       }
    }
    return 0;
} 
4

2 回答 2

1

我会像这样构造代码:

while(true)
{
  cout << "Enter account number: ";
  cin >> aNum;
  if(aNum==-1) break;

  // ... Rest of your while loop ...
}
于 2012-08-01T05:43:28.500 回答
0

尝试使用下面的代码

/* Make a program that will determine if a department store customer has exceeded the
credit limit on a charge account*/
#include <iostream>

#include <iomanip>

using namespace std;

int main()
{
    int aNum,Always;

    double balance,iTotal,cTotal,cLimit,NewBal;

    do 
    {
        cout << "Enter account number: ";
        cin >> aNum;
        if(aNum != -1)
        {
        cout << "Enter beginning balance: ";
            cin >> balance;
            cout << setiosflags( ios::fixed | ios::showpoint ) << setprecision( 2 );

        cout << "Enter total charges: ";
            cin >> iTotal;
            cout << setiosflags( ios::fixed | ios::showpoint ) << setprecision( 2 );

        cout << "Enter total credits: ";
            cin >> cTotal;
            cout << setiosflags( ios::fixed | ios::showpoint ) << setprecision( 2 );

        cout << "Enter credit limit: ";
            cin >> cLimit;
            cout << setiosflags( ios::fixed | ios::showpoint ) << setprecision(2);

        cout << endl;

        NewBal = balance + iTotal - cTotal;

       if ( NewBal >= cLimit ) {

                    cout << "Account: " << setw(9) << aNum << endl;
                    cout << "Credit limit: " << cTotal << endl;
                    cout << "Balance: " << setw(9) << balance << endl;
                    cout << "Credit limit exceeded." << endl;
                    cout << endl;
       }
     }
    }while ( aNum != -1 );
    return 0;
} 

希望能帮助到你...

于 2012-08-01T05:43:57.290 回答