C#.windows应用程序. 要求编写一个小程序.

C#.windows应用程序. 要求编写一个小程序.商品单价.商品数量.折扣.实际应付金额.
输入商品单价和商品数量.计算得出折扣和实际应付金额.
数据如下:小于100元.折扣0.
100到200元.折扣2%.
200到500元.折扣5%.
500到1000元.折扣10%.
大于1000元.折扣15%.
请速度解答.把button1中的要编写的解答出来就行.我老是找不到自己哪编错了...
忘说了.要用Switch语句.谢谢yanchao14了...

可以把大的数字转化成小一点的数字在使用switch

double price = Convert.ToDouble(textBox1.Text);
double number = Convert.ToDouble(textBox2.Text);
double discount, paymoney;
paymoney = price * number;
int temp = Convert.ToInt32(paymoney/100);
switch (temp)
{
case 0: discount = 0;
textBox4.Text = (paymoney - (paymoney * discount)).ToString() ;
textBox3.Text = (discount*paymoney).ToString();
break;
case 1: discount = 0.02;
textBox4.Text = (paymoney - (paymoney * discount)).ToString();
textBox3.Text = (discount*paymoney).ToString();
break;
case 2:
case 3:
case 4: discount = 0.05;
textBox4.Text = (paymoney - (paymoney * discount)).ToString();
textBox3.Text = (discount*paymoney).ToString();
break;
case 5:
case 6:
case 7:
case 8:
case 9: discount = 0.10;
textBox4.Text = (paymoney - (paymoney * discount)).ToString();
textBox3.Text = (discount*paymoney).ToString();
break;
default:discount = 0.15;
textBox4.Text = (paymoney - (paymoney * discount)).ToString();
textBox3.Text = (discount*paymoney).ToString();
break;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-22
switch的case是不能判断条件的 只能是一个固定的值或枚举 所以像不能判断值是否(大于100并小于200)
如果一定要用恐怕只能这样
case 100: ..
case 101: ..
..
case 200: ..本回答被网友采纳
第2个回答  2010-11-22
你好,你的这个程序并不适合使用switch case分支进行处理,
如果非要使用的话,除了构造一个精巧的特例外,也可以这样:

double price=double.parse(textbox1.text);
double count=double.parse(textbox2.text);
double discount;
double paysum=0;
paysum=price*count;
if(paysum<100)
discount=1;
elseif (paysum<200)
discount=1-0.02;
elseif (paysum<500)
discount=1-0.05;
elseif(paysum<1000)
discount=1-0.1;
else
discount=1-0.15;

switch discount
{
case 1:
paysum=paysum*discount;
break;
case 0.98:
.......

}
messageBox.show("实际应付金额为:"+paysum.tostring());
第3个回答  2010-11-25
这些语言都不是专门针对某个操作系统的语言。C 和 C++ 一样,你要用专门的库函数来写Windows程序。C 就直接调用 WinAPI;MFC 是给 C++ 用的,封装了 WinAPI 在里面,相对好用一点,但最终还是调用 WinAPI。C# 是针对 .net 平台设计的语言,实现了所谓的“跨平台”,实际上是可以在不同平台上装 .net 环境,它也有一套图形界面的库,你的程序跟 .net 平台交互,.net 平台再跟系统交互,也就是 .net 最终会调用 API 来实现界面元素。
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。你的串号我已经记下,采纳后我会帮你制作
第4个回答  2020-07-03
简单呀,你先判断金额在的范围,给出权重分再用Switch就可以了。
比如
if(金额<100)
{
权重=0;
}
else if(金额>=100)&&(金额<200)
{
权重=1;
}
esle if(金额>=200)&&(金额<500)
{
权重=2;
}
以此类推
然后用Switch(权重)
case0:
case1:
:
等等,就可以了
相似回答