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

C#.windows应用程序.要求编写一个小程序.商品单价.商品数量.折扣.实际应付金额.输入商品单价和商品数量.计算得出折扣和实际应付金额.数据如下:小于100元.折扣... C#.windows应用程序. 要求编写一个小程序.商品单价.商品数量.折扣.实际应付金额.
输入商品单价和商品数量.计算得出折扣和实际应付金额.
数据如下:小于100元.折扣0.
100到200元.折扣2%.
200到500元.折扣5%.
500到1000元.折扣10%.
大于1000元.折扣15%.
请速度解答.把button1中的要编写的解答出来就行.我老是找不到自己哪编错了...
忘说了.要用Switch语句.谢谢yanchao14了...
展开
 我来答
蓝闪L
2010-11-22 · TA获得超过118个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:75.6万
展开全部
可以把大的数字转化成小一点的数字在使用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;
}
forjt
2010-11-22
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
switch的case是不能判断条件的 只能是一个固定的值或枚举 所以像不能判断值是否(大于100并小于200)
如果一定要用恐怕只能这样
case 100: ..
case 101: ..
..
case 200: ..
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanchao14
2010-11-22 · TA获得超过131个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:159万
展开全部
你好,你的这个程序并不适合使用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());
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
evmfi59
2010-11-25 · TA获得超过1895个赞
知道小有建树答主
回答量:969
采纳率:0%
帮助的人:602万
展开全部
这些语言都不是专门针对某个操作系统的语言。C 和 C++ 一样,你要用专门的库函数来写Windows程序。C 就直接调用 WinAPI;MFC 是给 C++ 用的,封装了 WinAPI 在里面,相对好用一点,但最终还是调用 WinAPI。C# 是针对 .net 平台设计的语言,实现了所谓的“跨平台”,实际上是可以在不同平台上装 .net 环境,它也有一套图形界面的库,你的程序跟 .net 平台交互,.net 平台再跟系统交互,也就是 .net 最终会调用 API 来实现界面元素。
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。你的串号我已经记下,采纳后我会帮你制作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-07-03
展开全部
简单呀,你先判断金额在的范围,给出权重分再用Switch就可以了。
比如
if(金额<100)
{
权重=0;
}
else if(金额>=100)&&(金额<200)
{
权重=1;
}
esle if(金额>=200)&&(金额<500)
{
权重=2;
}
以此类推
然后用Switch(权重)
case0:
case1:
:
等等,就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式