![]() |
C++的switch問題?
#include <iostream>
using namespace std; int main() { int rs; double a,b,c,d,e; a=b=c=d=e=0; cout<<"輸入產品編號1到5,並顯示價錢;CTRL+Z顯示所有物品總和"<<endl; while((rs=cin.get())!=EOF) { switch(rs) { case 49:cout<<"2.98"<<endl; ++a; break; case 50:cout<<"4.50"<<endl; ++b; break; case 51:cout<<"9.98"<<endl; ++c; break; case 52:cout<<"4.49"<<endl; ++d; break; case 53:cout<<"6.87"<<endl; ++e; break; case '\n': case '\t': case ' ': break; default: cout<<"無此物品"<<endl; break; } } cout<<"總共是"<<a*2.98+b*4.50+c*9.98+d*4.49+e*6.87<<endl; system ("pause") ; return 0 ; } ∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼ 請問為什麼沒有打紅色部份的程式 switch的時候就會一直跑到default 麻煩各位了~~ |
因為你輸入某數時
要輸入enter才能繼續執行 可是enter也算一個acsii碼 所以要加一行case '\n' 把enter換行加以吸收 不然enter會一直留在緩衝區等你將他吸收掉 |
引用:
聊解了∼謝謝你喔 剛接觸c++所以很不熟 還好有史版呵呵 |
所有時間均為台北時間。現在的時間是 02:05 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *