[問題] switch的小問題

看板C_and_CPP (C/C++)作者 (摳您雞挖)時間16年前 (2010/06/17 13:00), 編輯推噓4(408)
留言12則, 8人參與, 最新討論串1/3 (看更多)
小弟是初學者 想寫一個90~100成績為A 80~89成績為B依此類推的程式 但是結果不論輸入任何數字 成績都是A 請各位大大幫幫忙 感謝 有問題的code: int main() { int x; cout << "key in 100~0 : "; cin >> x; if(100<x<90) x=1; else if (89<x<80) x=2; else if (79<x<70) x=3; else if (69<x<60) x=4; else if (59<x<0) x=5; switch (x){ case 1: cout << "A"; break; case 2: cout << "B"; break; case 3: cout << "C"; break; case 4: cout << "D"; break; case 5: cout << "E"; break; default: cout << "100<x<0" ; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.6.55

06/17 13:04, , 1F
if裡面不能這樣寫 要分開判斷 加上&&
06/17 13:04, 1F

06/17 13:04, , 2F
還有大小方向也錯了...
06/17 13:04, 2F

06/17 13:06, , 3F
if裡面的比較式也怪怪的 不可能發生吧
06/17 13:06, 3F

06/17 13:08, , 4F
這是與法問題
06/17 13:08, 4F

06/17 13:16, , 5F
compiler給的warning要仔細看~
06/17 13:16, 5F

06/17 13:19, , 6F
結果我發現好像不是每個compiler都會給warning...
06/17 13:19, 6F

06/17 13:22, , 7F
感謝各位大大 果然if大小方向一改就OK了:)
06/17 13:22, 7F

06/17 13:27, , 8F
你確定改個方向就好嗎 ?? 我很懷疑 @@
06/17 13:27, 8F

06/17 13:33, , 9F
(100>=x&&x>=90) 依此類推 60以下直接 else
06/17 13:33, 9F

06/17 16:55, , 10F
其實也不用"&&" 你可以把它當作篩子 不符合的就往下掉
06/17 16:55, 10F

06/17 16:57, , 11F
if(x>=90) else if(x>=80) 像這樣 會比較簡潔一點點
06/17 16:57, 11F

06/19 03:22, , 12F
感謝您的意見 後來我也有想到這點 的確簡潔多了:)
06/19 03:22, 12F
文章代碼(AID): #1C6QlO7r (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1C6QlO7r (C_and_CPP)