Re: [問題] 關於while條件式的用法

看板C_and_CPP作者 (800IM)時間12年前 (2011/12/05 05:08), 編輯推噓3(306)
留言9則, 6人參與, 最新討論串2/2 (看更多)
※ 引述《happyhsf (happy)》之銘言: : 我的想法是說 : 把條件式改成while(num>=0&&非數字) : 但我不知道非數字要怎麼寫出來??? : 所以想請板上的前輩們 : 謝謝! char strInput while((48<=strInput) && (strInput>=57)) { cout<<"請輸入一個數"<<'\n'; cin>>strInput; cout<<"輸入"<<strInput<<'\n'; } 前陣子剛好遇到相同問題,就全部讀成ASCII來判斷,不知道板友有沒有更好辦法? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.55.226

12/05 05:31, , 1F
input >= '0' && input <= '9' 比較直覺
12/05 05:31, 1F

12/05 08:01, , 2F
不用特別轉成ascii,程式內運算都會自動轉成ascii
12/05 08:01, 2F

12/05 08:45, , 3F
isdigit()
12/05 08:45, 3F

12/05 08:46, , 4F
不建議直接打ascii,有時候跨平台會出問題
12/05 08:46, 4F

12/05 11:32, , 5F
我以為0~127的ascii是標準? 可以請教一下為何跨平台會影響
12/05 11:32, 5F

12/05 12:11, , 6F
沒規定os的字元編碼一定要是ascii
12/05 12:11, 6F

12/05 12:30, , 7F
你這是一個digit 原po要number
12/05 12:30, 7F

12/05 13:45, , 8F
就一個字元一個字元讀進來看是不是digit...
12/05 13:45, 8F

12/05 13:47, , 9F
我只是提出不要直接用ascii碼辨識字元
12/05 13:47, 9F
文章代碼(AID): #1Es-5hoC (C_and_CPP)
文章代碼(AID): #1Es-5hoC (C_and_CPP)