C++大学教程(第九版)7.10销售人员薪金范围

文章目录

  • 题目
  • 代码
  • 运行截图

题目

(销售人员薪金范围)利用一个一维的array 对象解决以下问题。一家公司以底薪加提成的方式付给销售人员工资。销售人员每周获得 200 美元的底薪,外加本周达到一定销售额的9% 的提成。
例如,一个销售人员一周的销售额是 5000 美元,就会得到200 美元加上 5000 美元的9%,即总共650美元。
请编写一个程序(利用一个计数器的 array 对象)判断有多少销售人员可以获得以下范围内的报酬(假设每个销售人员的报酬都将取整)。
a)200~299美元
b)300~399美元
c)400~499美元
d)500~599美元
e)600~699美元
f)700~799美元
g)800~899美元
h)900~999美元
i)1000 美元及以上

代码

#include 
#include 
#include 

using namespace std;

const double basicSalary = 200.0;

int main()
{
    const int arraySize = 10;
    double memberSalary; // 也可以直接赋值员工销售金额,需要增加一个array对象
                         // {2000, 3000, 4600, 7808, 9999, 7892, 12000, 2345, 3789, 1234};

    const int frequencySize = 11;
    array<int, frequencySize> frequency = {0};

    for (size_t i = 0; i < arraySize; ++i) // 计算员工实际工资
    {
        cout << "请输入第" << i + 1 << "位员工的销售金额:";
        cin >> memberSalary;
        double salary = basicSalary + memberSalary * 0.09;
        int a = static_cast<int>(salary) / 100;
        if (a > 10) // 报酬超过一千美元,均记在1000美元及以上
        {
            a = 10;
        }
        ++frequency[a];
    }

    cout << "\n所有员工的报酬分布如下:\n";

    for (size_t m = 2; m <= 10; ++m)
    {
        if (m != 10)
            cout << m * 100 << " ~ " << m * 100 + 99 << "美元:" << frequency[m] << " 个人。" << endl;
        else
            cout << m * 100 << "美元及以上:" << frequency[m] << " 个人。" << endl;
    }
    return 0;
}

运行截图

C++大学教程(第九版)7.10销售人员薪金范围_第1张图片

你可能感兴趣的:(C++大学教程,c++,开发语言)