C ++中{while}循环的初学者问题

时间:2016-02-07 06:01:52

标签: c++ while-loop

所以我正在努力学习C ++,我教科书中的一个问题是:

  

(销售佣金计算器)一家大公司支付其销售人员的费用   佣金基础。销售人员每人每周收到200美元加9%   那个星期的总销售额。例如,一个销售人员   每周售价5000美元的化学品可获得200美元加上9%的化学品   5000美元,或总计650美元。开发一个使用一段时间的C ++程序   声明输入每个销售人员上周的销售总额和   计算并显示销售人员的收入。过程一   销售人员的数据。

     

B部分)您必须检查用户是否输入减去0的销售额。   如果它小于或等于零,你应该显示"你正在失败   为公司赚钱,你被解雇了#34;并坚持下去。

所以我编写了适用于上述场景的代码但我的问题是我不确定如何在这种情况下使用while命令,所以一旦所有内容都通过if / else语句,它会再次执行从&#34开始;输入您的销售"。

以下是代码:(希望基本上以某种方式添加一段时间,以便它可以在这种情况下继续重复,并在计算工资后从头开始,但不知道如何做到这一点。)< / p>

#include <iostream>
using namespace std;

int main()
{
    double sales = 0.0, salary = 0.0;

    cout<<"Enter your sales amount(> $0.00): " ;
    cin>>sales;

    if (sales <= 0)
    {   
        cout<<"You are losing money for company, you are fired"<<endl;
        return 0;
    }

    else 
    {
        salary = (sales * 0.09) + 200;
        cout<<"Salary this week is $"<<salary;
    }

    system("pause");
}

2 个答案:

答案 0 :(得分:0)

这会问你多少次运行循环(员工数量)并多次运行循环:

#include <iostream>
using namespace std;

int main()
{
    int number_of_employees = 0;
    double sales = 0.0, salary = 0.0;

    cout << "Enter number of employees: " << flush;

    cin >> number_of_employees;


    if (number_of_employees == 0) {
        cout << "There are no employees" << endl;
        return 0;
    }
    else if (number_of_employees < 0) {
        cout << "There can't be negative employees!" << endl;
        return 0;
    }

    int i = 0;
    while(i < number_of_employees) {

        cout<<"Enter your sales amount(> $0.00): " ;
        cin>>sales;


        if (sales <= 0)
        {   
            cout<<"You are losing money for company, you are fired"<<endl;
            return 0;
        }

        else 
        {
            salary = (sales * 0.09) + 200;
            cout<<"Salary this week is $"<<salary<<endl;
        }
        ++i;
    }

    system("pause");
    return 0;
}

答案 1 :(得分:0)

您应该阅读销售人员的数量以了解循环的数量。这样做很好。

#include <iostream>
using namespace std;

int main()
{
    double sales = 0.0, salary = 0.0;

    cout<<"Enter your sales amount(> $0.00): " ;
    cin>>sales;
    cout<<endl;
    int numberOfSalesPeople;
    cout<<"Enter the number of salespeople";
    cin>>numberOfSalesPeople;
    cout<<endl;

    int j=0;
    while(j<numberOfSalesPeople) {

        if (sales <= 0)
        {   
            cout<<"You are losing money for company, you are fired"<<endl;
            return 0;
        }

        else 
        {
            salary = (sales * 0.09) + 200;
            cout<<"Salary this week is $"<<salary;
        }
        j++;
    }
    system("pause");
    return 0;
}