作者followaymis (abcde)
看板C_Sharp
标题[问题] switch..case
时间Wed Oct 10 13:23:35 2007
谢谢各位高手为我解答....
针对这个程式码有些许的疑问...
烦请各位高手指点迷津...
int degree, month;
double sum,money;
Console.Write("enter degree:");
degree = Int32.Parse(Console.ReadLine());
Console.Write("enter month:");
month = Convert.ToInt32(Console.ReadLine());
if (month >= 6 && month < 10)
{
switch (degree)
{
case degree < 110: //好像不能直接case < 110
money = 2.1; 显示为无效的运算式
break;
case degree > 110 && degree <= 330:
money = 2.73;
break;
case degree > 330 && degree <= 500:
money = 3.31;
default:
money = 3.465; //每行都为无法将bool隐涵转换int
break; 可是我没有宣告bool型别阿??
而且依开始我也将degree转型了.....
又要再次麻烦各位了.....感激不尽...
}
}
else
{
switch (degree)
{
case degree <= 110:
money = 2.1;
break;
case degree > 110 && degree <= 330:
money = 2.413;
break;
case degree > 330 && degree <= 500:
money = 2.73;
default:
money = 2.73;
break;
}
}
sum = degree * money;
Console.Write("电费为:{0}", sum);
Console.ReadLine();
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.90.8
1F:推 kojiro1982:degree < 110这一个叙述是boolean值 10/11 00:15
2F:→ kojiro1982:不是true 就是false 10/11 00:16
3F:→ kojiro1982:而degree是int 所以会发生错误 10/11 00:17
4F:→ kojiro1982:这个程式不适合用switch case 10/11 00:17
5F:→ kojiro1982:还是用 if...else if...else if......else 来写吧 10/11 00:18