Re: [問題] switch的小問題

看板C_and_CPP作者 (丹丹)時間14年前 (2010/06/17 22:54), 編輯推噓7(708)
留言15則, 12人參與, 最新討論串3/3 (看更多)
提供一個使用 switch 的寫法作為參考 (為了符合標題嘛XD #include <stdio.h> int main (void) { int x; printf("please input your grade: "); scanf("%d", &x); switch (x) { case 90 ... 100: x = 1; break; case 80 ... 89: x = 2; break; case 70 ... 79: x = 3; break; case 60 ... 69: x = 4; break; case 0 ... 59: x = 5; break; default: printf("unexpected grade\n"); return 1; } printf("your grade level is %d\n", x); return 0; } ※ 引述《money601 (摳您雞挖)》之銘言: : 小弟是初學者 : 想寫一個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: 125.227.85.214

06/17 23:06, , 1F
傳說中的 ... 又出現了XD
06/17 23:06, 1F

06/17 23:38, , 2F
我會學到 ... 的用法也是因為這個板 XD
06/17 23:38, 2F

06/17 23:51, , 3F
為什麼會有ERROR0.0
06/17 23:51, 3F

06/17 23:55, , 4F
第一次看到 ... 這是什麼?
06/17 23:55, 4F

06/18 00:11, , 5F
it's gcc Extensions
06/18 00:11, 5F

06/18 00:36, , 6F
驚!原來是 GCC 才能用orz 我還以為是 standard
06/18 00:36, 6F

06/18 00:48, , 7F
not standard... and 我恨 switch,
06/18 00:48, 7F

06/18 01:52, , 8F
第一次看到O.O
06/18 01:52, 8F

06/18 03:14, , 9F
... 靠這招學到了XDD
06/18 03:14, 9F

06/18 05:14, , 10F
還有就是 ... 左右記得要空格,以前有人沒空編不過。
06/18 05:14, 10F

06/18 08:12, , 11F
那...只能用在switch嗎?bow
06/18 08:12, 11F

06/18 12:02, , 12F
我記得有篇編譯器,不認得...吧。
06/18 12:02, 12F

06/19 03:31, , 13F
酷!!又學到一招
06/19 03:31, 13F

06/19 03:41, , 14F
不過有個問題,default好像沒發生作用,超過輸入直接跳出
06/19 03:41, 14F

06/20 15:33, , 15F
有作用 但不一定是這樣的架構
06/20 15:33, 15F
文章代碼(AID): #1C6ZSjhH (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1C6ZSjhH (C_and_CPP)