以下是某C程序段及其功能描述,请仔细阅读程序并完成要求 企业发放的奖金根据利润提成,发放规则如下: 利润(Ⅰ)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.

admin2012-04-10  36

问题 以下是某C程序段及其功能描述,请仔细阅读程序并完成要求
   企业发放的奖金根据利润提成,发放规则如下:
   利润(Ⅰ)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润Ⅰ,输入应发放奖金总数。
   #include
   #include
   int main()
   {
   long int gain;
   int prizel, prize2, prize4, prize6, prize10,prize=0;
   puts("************************************");
   puts("*     The program will solve    *");
   puts(" * the problem of prize distribution * "):
   puts(" ************************************");
   puts("please input the mum of gain:");
   scanf("%ld", &gain);
   prizel=100000*0.1:
   prize2=prizel+i00000*0.075:
   prize4=prize2+200000*0.05:
   prize6=prize4+200000*0.03:
   prize10=prize6+400000*0.015:
   if(gain<=100000)
   prize=gain*0.1:
   else if(gain<=200000)
   prize=prizel+(gain-i00000)*0.075;
   else if(gain<=400000)
   prize=prize2+(gain-200000)*0.05:
   else if(gain<=600000)
   prize=prize4+(gain-400000)*0.03:
   else if(gain<=1000000)
   prize=prize6+(gain-600000)*0.015;
   else
   prize=prize10+(gain-i000000)*0.01;
   printf("The prize is:%d\n", prize);
   getch();
   return 0;

设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,需说明为什么。

选项

答案为了使该程序满足分支覆盖和语句覆盖,应该设计测试用例,使其覆盖每一种情况。用例设计如下: Gain=20000,180000,350000,560000,970000,1200000。

解析
转载请注明原文地址:https://jikaoti.com/ti/C9E7FFFM
0

相关试题推荐
最新回复(0)