【发布时间】:2013-11-15 06:51:26
【问题描述】:
在我的作业中,我被要求编写一个程序,使用 if 和 switch 语句来比较客户支付的净金额以了解以下详细信息
购买数量(100-200)然后给予5%的折扣。
购买金额(200-500)然后给予7.5%的折扣。
购买金额(500-800)然后给予10%的折扣。
购买金额(超过 1000)然后给予 15% 的折扣。
这是我可以想出的,但是在编译时给了我类似的错误
第 10 行:错误:case 标签未缩减为整数常量 第 13 行:错误:case 标签未缩减为整数常量 第 17 行:错误:':' 标记之前的预期表达式。 谁能帮我解决这个问题。我没有正确回答这个问题还是我做错了什么
#include<stdio.h>
main()
{
int pa = 200;
float net;
printf("\n Enter purchased amount");
scanf("%d",&pa);
switch(pa)
{
case 1&&pa<=100:
net=pa;
break;
case pa>=101&&pa<=200:
net=pa-(5.00/100.00)*pa;
break;
default:
if(pa>=201&&pa<=500)
net=pa-(7.5/100.00)*pa;
if(pa>=501&&pa<=800)
net=pa-(10.00/100.00)*pa;
if(pa>=1000)
net = pa - (15.00/100.00)*pa;
break;
}
printf("\n the net amount to be paid is%f",net);
getch();
}
【问题讨论】:
标签: c switch-statement