admin管理员组

文章数量:1794759

刷题

刷题

题目:

某酒水销售公司指派销售员销售各种酒水,其中白酒﹑红酒和啤酒的单价分别为168元/瓶、120元/瓶、5元/瓶。每个销售员,白酒每月的最高供应量为5000瓶,红酒为3000瓶,啤酒为30000瓶。各销售员每月至少需售出白酒50瓶、红酒30瓶、啤酒300瓶,任一产品未完成总佣金为0。

月末,各销售员向酒水销售公司上报他所在区域的销售业绩,酒水销售公司根据其销售总额计算该销售员的佣金,销售员的佣金计算方法如下:

2万元以下(含):4%;

2万元(不含)~4.5万元(含):4.05%;

4.5万元以上(不含):4.1%

根据上述要求

1.设计一个c程序,使用户能在控制台输入三种酒水的销售数量,并实现以上计算规则输出销售员佣金,佣金保留两位小数。

  1. 设计三个测试方案,对程序的不同计算规则分支分别进行测试。

分析过程:

if-else的使用。

代码编写:

#include <stdio.h>
int main() {int baijiu, hongjiu, pijiu; // 白酒、红酒、啤酒销售数量double total_sales; // 销售总额double commission; // 佣金printf("请输入白酒销售数量:");scanf("%d", &baijiu);printf("请输入红酒销售数量:");scanf("%d", &hongjiu);printf("请输入啤酒销售数量:");scanf("%d", &pijiu);if (baijiu < 50 || hongjiu < 30 || pijiu < 300) {commission = 0;printf("佣金为:%.2f\n", commission);return 0;}total_sales = baijiu * 168 + hongjiu * 120 + pijiu * 5;if (total_sales <= 20000) {commission = total_sales * 0.04;} else if (total_sales <= 45000) {commission = total_sales * 0.0405;} else {commission = total_sales * 0.041;}printf("佣金为:%.2f\n", commission);return 0;
}

测试数据:

三个测试方案:

  1. 测试未完成最低销售量的情况。输入白酒销售数量为40,红酒销售数量为30,啤酒销售数量为300。预期输出结果为“佣金为:0.00”。

  1. 测试销售总额在2万元以下(含)的情况。输入白酒销售数量为100,红酒销售数量为100,啤酒销售数量为1000。预期输出结果为“佣金为:1128.00”。

  1. 测试销售总额在4.5万元以上(不含)的情况。输入白酒销售数量为300,红酒销售数量为200,啤酒销售数量为5000。预期输出结果为“佣金为:2926.20”。

如果有不会的,请继续私信我或者给我留言。

本文标签: 刷题