[問題] 陷入無限迴圈

看板C_and_CPP (C/C++)作者 (皮皮)時間15年前 (2011/03/31 10:59), 編輯推噓1(1011)
留言12則, 7人參與, 最新討論串1/2 (看更多)
有請高手幫我指正以下的程式碼。 我想要寫一個程式可以輸入成績等級A B C。最後統計各個等級的總人數。 cout << "請輸入成績等級: " << endl << "若想停止請輸入EOF" << endl; while ( (grade = cin.get()) != EOF ){ switch ( grade ){ case 'A': case 'a': acounter = acounter + 1; break; case 'B': case 'b': bcounter = bcounter + 1; break; case 'C': case 'c': ccounter = ccounter + 1; break; case '\n': case '\t': case ' ': break; default: cout << "Incorrect letter grade entered." << "Enter a new grade." << endl; break; } } cout << "\n\n每項成績的人數為: " << "\nA: " << acounter << "\nB: " << bcounter << "\nC: " << ccounter; return 0; } 如果使用EOF進行終止,編譯器會說EOF沒有宣告,如果使用-1又會變成無線迴圈。 觀念不清,請大家指正了 > < -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.71.52

03/31 11:01, , 1F
妳不會真的打EOF三個字吧XD
03/31 11:01, 1F

03/31 11:05, , 2F
include stdio.h 看看?
03/31 11:05, 2F

03/31 11:13, , 3F
K大,我是真的用EOF跟-1。a大一開始打#include<stdio.h>
03/31 11:13, 3F

03/31 11:13, , 4F
也是沒用...
03/31 11:13, 4F

03/31 11:17, , 5F
測試環境gcc 4.4.5 : 加了stdio.h 就沒事了 你的環境是?
03/31 11:17, 5F

03/31 11:21, , 6F
我用的是CodeBlocks 那我再試試看別的編譯器
03/31 11:21, 6F

03/31 11:21, , 7F
感謝akasan大幫我試~ 非常感謝
03/31 11:21, 7F

03/31 11:38, , 8F
我測很正常耶.EOF--> windows:ctrl+z, linux: ctrl+d
03/31 11:38, 8F

03/31 11:45, , 9F
忘了附上源碼 http://codepad.org/IV8da00q
03/31 11:45, 9F

03/31 12:38, , 10F
標題錯字 = =a
03/31 12:38, 10F

03/31 13:54, , 11F
無線的耶XDD
03/31 13:54, 11F

03/31 16:21, , 12F
標題已更改
03/31 16:21, 12F
文章代碼(AID): #1Da-uTg0 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1Da-uTg0 (C_and_CPP)