[問題] switch..case

看板C_Sharp (C#)作者 (abcde)時間18年前 (2007/10/10 13:23), 編輯推噓1(104)
留言5則, 1人參與, 最新討論串1/1
謝謝各位高手為我解答.... 針對這個程式碼有些許的疑問... 煩請各位高手指點迷津... 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

10/11 00:15, , 1F
degree < 110這一個敘述是boolean值
10/11 00:15, 1F

10/11 00:16, , 2F
不是true 就是false
10/11 00:16, 2F

10/11 00:17, , 3F
而degree是int 所以會發生錯誤
10/11 00:17, 3F

10/11 00:17, , 4F
這個程式不適合用switch case
10/11 00:17, 4F

10/11 00:18, , 5F
還是用 if...else if...else if......else 來寫吧
10/11 00:18, 5F
文章代碼(AID): #17367O8m (C_Sharp)
文章代碼(AID): #17367O8m (C_Sharp)