我的程序无法将accountType作为变量运行

时间:2016-01-27 13:21:05

标签: c++

#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
    int accountNumber;
    float minimumBalance, currentBalance;
    char accountType;

    const float SAVINGS_SERVICE_CHARGE = 10.00;
    const float CHECKING_SERVICE_CHARGE = 25.00;
    const float SAVINGS_INTEREST_RATE = 0.04;
    const float CHECKING_LOW_INTEREST_RATE = 0.03;
    const float CHECKING_AVERAGE_INTEREST_RATE = 0.05;

    cout <<"Please the details of your account"<< endl;
    cin >> accountNumber,accountType,minimumBalance,currentBalance;

    switch (accountType){

        case 's':
        case 'S':
            cout <<"Account number"<<accountNumber<<endl;
            cout <<fixed<<showpoint<<setprecision(2);
            cout <<"Account type:Savings"<<endl;
            cout <<"Minimum Balance: $"<<minimumBalance << endl;
            cout <<"Current Balance: $"<<currentBalance << endl;

            if (currentBalance < minimumBalance) {
                cout <<"Service Fee:$"<<SAVINGS_SERVICE_CHARGE<<endl;}

            else {
                cout <<"Interest Earned:$"<<currentBalance * SAVINGS_INTEREST_RATE    << "at" << SAVINGS_INTEREST_RATE*100<<"p%.a"<<endl;
            }
            break;

        case 'c':
        case 'C':
            cout <<"Account number"<<accountNumber<<endl;
            cout <<fixed<<showpoint<<setprecision(2);
            cout <<"Account type:Checking"<<endl;
            cout <<"Minimum Balance:$"<<minimumBalance<<endl;
            cout <<"Current Balance:$"<<currentBalance<<endl;

            if (currentBalance < minimumBalance) {
                cout <<"Service fee:$"<<CHECKING_SERVICE_CHARGE<<endl;}
            else if (currentBalance <= (minimumBalance+5000.00)){
                cout <<"Interest Earned:$"<<currentBalance * CHECKING_LOW_INTEREST_RATE <<"at"<<CHECKING_LOW_INTEREST_RATE*100 <<"%p.a"<<endl;
            }else {
                cout <<"Interest Earned:$"<<currentBalance *      CHECKING_AVERAGE_INTEREST_RATE<< "at"<< CHECKING_AVERAGE_INTEREST_RATE*100     <<"%p.a"<<endl;
            }
            break;
        default:
            cout <<"ERROR"<<endl;
            return 1;
            break;
    }

    system ("pause");
    return 0;
}

我的程序无法将accountType作为变量读取。我该怎么做才能让它作为一个变量运行?请告诉我一步一步做什么,我的错误是什么以及如何使其发挥作用。

1 个答案:

答案 0 :(得分:0)

正如评论已经说明的那样

cin >> accountNumber,accountType,minimumBalance,currentBalance;

是错误的,因为你正在为多个变量输入一个输入,如果你想要它,你应该使用&gt;&gt;运算符每个变量。

cin >> accountNumber >> accountType >> minimumBalance >> currentBalance;

相同
cin >> accountNumber;
cin >> acccountType;
...

在我看来,我也不会使用全局命名空间使用,但这肯定是另一个主题。