看板 C_Sharp 關於我們 聯絡資訊
謝謝各位高手為我解答.... 針對這個程式碼有些許的疑問... 煩請各位高手指點迷津... 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
kojiro1982:degree < 110這一個敘述是boolean值 10/11 00:15
kojiro1982:不是true 就是false 10/11 00:16
kojiro1982:而degree是int 所以會發生錯誤 10/11 00:17
kojiro1982:這個程式不適合用switch case 10/11 00:17
kojiro1982:還是用 if...else if...else if......else 來寫吧 10/11 00:18