[問題] 附程式 請幫我看bug

看板C_and_CPP (C/C++)作者 (小傑)時間16年前 (2009/07/09 19:20), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
#include<iostream> #include<iomanip> #include<cmath> #include<cctype> using namespace std; int main() { cout<<"start"; cin.get(); char ch; cin.get(ch); while(ch!='@') { if(!isdigit(ch)) { if(isupper(ch)) cout<<tolower(ch); else if(islower(ch)) cout<<toupper(ch); else cout<<ch; } else cin.get(ch); } } 我希望能輸入隨意的字母 輸出"大小寫互換"且"數字無法讀入"的字母,直到按下'@'就會終止 不過這是我出現的結果 start xc xzcvzxc ZXDCVXZV @DCFVMC;X 8867 88906786908867 12212010099118120122118 結果輸出全變成數字了QQ 請問bug在哪呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.14.246

07/09 20:52, , 1F
tolower, toupper回傳的是int
07/09 20:52, 1F

07/09 21:01, , 2F
那我該怎麼改才能變成字母
07/09 21:01, 2F

07/09 22:09, , 3F
cout << (char)(tolower(ch));
07/09 22:09, 3F
文章代碼(AID): #1ALTA3fA (C_and_CPP)
文章代碼(AID): #1ALTA3fA (C_and_CPP)