期望'while'或期望'}'回答是,但我自己无法解决

问题描述 投票:-1回答:2

我已经检查了所有其他问题,但我无法解决。。我很讨厌编码。我不知道为什么它说它需要一段时间或放在哪里,并且它为LOCS函数给出了错误的答案,对于默认指针警告,我也无能为力。这只是一个开始,我将在稍后进行扩展,因此这将是一个很大的帮助,我已经尝试过同时在所有地方都将括号括起来,大声笑

顺便说一句,如果有人可以告诉我如何使用输入作为决策,就像您看到的那样,我使用的是1和2,但是如果我可以使用永久性和临时性,那将是很好的选择。

// Calculate an employee's weekly salary
// Use a do while loop, and an if else statement to have user input data and display the correct values

#include <iostream>
using namespace std;

void main()
{
    //Declaring the constant variables
    const double BONUS_RATE = 5.0;

    //Declaring the variables
    int hours;
    int sales;
    int Status;

    string permanent, casual, Name, status, result, employee;

    double rate, sale_bonus, netPay, gross;



    //set decimal point to 2 positions
    cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout.precision(2);

    //Display name
    cout << "Calculate an employee's weekly salary\n\n";

    //Do while loop to get hourly rate
    do {


        cout << "Enter employee name: ";
        cin >> Name;

        cout << "Please enter 1 if employee is permanent or 2 if casual: ";
        cin >> Status;

        Status = 0;
        while (Status < 1 || Status > 2);

        if (Status = 1)
        {

            cout << "Permanent employees have a fixed salary of $1000 per week" << endl;

            sales = 0;
            (sales < 1 || sales > 10);

            cout << "If any please enter how many sales employee made this week:";
            cin >> sales;

            sale_bonus = sales * BONUS_RATE;
            netPay = 1000 + sale_bonus;

            cout << endl;

            cout
                << "Hours Worked: \t" << hours << endl
                << "Gross Pay:  \t" << gross << endl
                << "Net Pay  \t" << netPay << endl;

        }
        else if (Status = 2) {



            cout << "Casual employee's hourly rate is $15";
            rate = 15.00;
            cout << endl;



            //while loop for hours

            hours = 0;
            while (hours < 1 || hours > 60)
            {
                cout << "Please enter how many hours you have worked this week:" << endl;
                cout << "Minimum hours is 1" << endl;
                cout << "Maximum hours are 60" << endl;
                cout << "Enter hours worked: ";

                cin >> hours;

            }

            //while loop for bonus

            sales = 0;
            while (sales < 1 || sales > 10)
            {
                cout << "Please enter how many sales you made this week:";
                cin >> sales;
            }

            //Calculate pay


            gross = hours * rate;
            sale_bonus = sales * BONUS_RATE;
            netPay = gross + sale_bonus;

            //Display the results
            cout << endl
                << "Hourly Rate:  \t" << rate << endl
                << "Hours Worked: \t" << hours << endl
                << "Gross Pay:  \t" << gross << endl
                << "Net Pay  \t" << netPay << endl;


        }

    }
}
c++
2个回答
0
投票
#include <iostream>
using namespace std;

void main()
{
    //Declaring the constant variables
    const double BONUS_RATE = 5.0;

    //Declaring the variables
    int hours;
    int sales;
    int Status;

    string permanent, casual, Name, status, result, employee;

    double rate, sale_bonus, netPay, gross;



    //set decimal point to 2 positions
    cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout.precision(2);

    //Display name
    cout << "Calculate an employee's weekly salary\n\n";

    //Do while loop to get hourly rate
    do {


        cout << "Enter employee name: ";
        cin >> Name;

        cout << "Please enter 1 if employee is permanent or 2 if casual: ";
        cin >> Status;

   } while (Status < 1 || Status > 2); // add while after do block with }

        if (Status == 1)// use '==' equality check not '=' .
        {

            cout << "Permanent employees have a fixed salary of $1000 per week" << endl;

            sales = 0;
            (sales < 1 || sales > 10);

            cout << "If any please enter how many sales employee made this week:";
            cin >> sales;

            sale_bonus = sales * BONUS_RATE;
            netPay = 1000 + sale_bonus;

            cout << endl;

            cout
                << "Hours Worked: \t" << hours << endl
                << "Gross Pay:  \t" << gross << endl
                << "Net Pay  \t" << netPay << endl;

        }
        else if (Status == 2) { // use '==' equality check not '=' .



            cout << "Casual employee's hourly rate is $15";
            rate = 15.00;
            cout << endl;



            //while loop for hours

            hours = 0;
            while (hours < 1 || hours > 60)
            {
                cout << "Please enter how many hours you have worked this week:" << endl;
                cout << "Minimum hours is 1" << endl;
                cout << "Maximum hours are 60" << endl;
                cout << "Enter hours worked: ";

                cin >> hours;

            }

            //while loop for bonus

            sales = 0;
            while (sales < 1 || sales > 10)
            {
                cout << "Please enter how many sales you made this week:";
                cin >> sales;
            }

            //Calculate pay


            gross = hours * rate;
            sale_bonus = sales * BONUS_RATE;
            netPay = gross + sale_bonus;

            //Display the results
            cout << endl
                << "Hourly Rate:  \t" << rate << endl
                << "Hours Worked: \t" << hours << endl
                << "Gross Pay:  \t" << gross << endl
                << "Net Pay  \t" << netPay << endl;


        }


}

我进行了适当的更改:

使用==代替=运算符检查是否相等!

while的语法:do { //code... } while(condition)

关闭块后,while必须跟随do!

您的错误

主要错误是您尚未关闭do while循环,请在注释中要求更多说明!PS。我建议您首先复制我的代码,然后运行,然后分析问题!


0
投票

使用此代码将起作用

#include使用名称空间std;

void main()
{
    //Declaring the constant variables
    const double BONUS_RATE = 5.0;

    //Declaring the variables
    int hours;
    int sales;
    int Status;

    string permanent, casual, Name, status, result, employee;

    double rate, sale_bonus, netPay, gross;



    //set decimal point to 2 positions
    cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout.precision(2);

    //Display name
    cout << "Calculate an employee's weekly salary\n\n";

    //Do while loop to get hourly rate
    while(1){


        cout << "Enter employee name: ";
        cin >> Name;

        cout << "Please enter 1 if employee is permanent or 2 if casual: ";
        cin >> Status;

        Status = 0;
        while (Status < 1 || Status > 2);

        if (Status = 1)
        {

            cout << "Permanent employees have a fixed salary of $1000 per week" << endl;

            sales = 0;
            (sales < 1 || sales > 10);

            cout << "If any please enter how many sales employee made this week:";
            cin >> sales;

            sale_bonus = sales * BONUS_RATE;
            netPay = 1000 + sale_bonus;

            cout << endl;

            cout
                << "Hours Worked: \t" << hours << endl
                << "Gross Pay:  \t" << gross << endl
                << "Net Pay  \t" << netPay << endl;

        }
        else if (Status = 2) {



            cout << "Casual employee's hourly rate is $15";
            rate = 15.00;
            cout << endl;



            //while loop for hours

            hours = 0;
            while (hours < 1 || hours > 60)
            {
                cout << "Please enter how many hours you have worked this week:" << endl;
                cout << "Minimum hours is 1" << endl;
                cout << "Maximum hours are 60" << endl;
                cout << "Enter hours worked: ";

                cin >> hours;

            }

            //while loop for bonus

            sales = 0;
            while (sales < 1 || sales > 10)
            {
                cout << "Please enter how many sales you made this week:";
                cin >> sales;
            }

            //Calculate pay


            gross = hours * rate;
            sale_bonus = sales * BONUS_RATE;
            netPay = gross + sale_bonus;

            //Display the results
            cout << endl
                << "Hourly Rate:  \t" << rate << endl
                << "Hours Worked: \t" << hours << endl
                << "Gross Pay:  \t" << gross << endl
                << "Net Pay  \t" << netPay << endl;


        }

    }

}
© www.soinside.com 2019 - 2024. All rights reserved.