[問題] 有關switch的小問題

看板C_and_CPP作者 (海軍藍)時間8年前 (2017/10/30 18:29), 編輯推噓1(105)
留言6則, 4人參與, 8年前最新討論串1/1
新手求助C++ 第一次發文請見諒QQ 請問為什麼我的default的敘述會一直出現??? 比如說我輸入A 但Excellent.跟Nothing會同時出現 拜託各位大神幫我解惑一下T^T 以下程式碼 #include<iostream> using namespace std; int main() { int grade cout<<"Please input your grade"<<endl; while((grade=cin.get())!=EOF)  { switch(grade)   {   case'A':    cout<<"Excellent."<<endl;    break;    case'B':    cout<<"Well."<<endl;    break;    default:    cout<<"Nothing"<<endl;    break;   }  } system("pause"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.164.161 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1509359397.A.F83.html

10/30 18:39, 8年前 , 1F
因為你按了 Enter
10/30 18:39, 1F

10/30 18:41, 8年前 , 2F
Enter 也是有字元的
10/30 18:41, 2F

10/30 19:01, 8年前 , 3F
你把grade強轉成int印出來就知道了
10/30 19:01, 3F

11/03 10:24, 8年前 , 4F
大大你grade後面忘了加;了
11/03 10:24, 4F

11/03 10:25, 8年前 , 5F
可以改成while(cin>>grade != EOF);
11/03 10:25, 5F

11/04 21:44, 8年前 , 6F
謝謝大家。我已經解決了喔><非常感謝!!!!!!!!
11/04 21:44, 6F
文章代碼(AID): #1Pzlyb-3 (C_and_CPP)