全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1498
推到 Plurk!
推到 Facebook!

如何判斷使用者輸入是否為"整數"而不是"文字"

尚未結案
angus_w
一般會員


發表:2
回覆:1
積分:0
註冊:2005-10-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-01 18:05:44 IP:210.66.xxx.xxx 未訂閱
使用者可能輸入任何數, 也可能輸入文字, 我希望程式能夠判別出使用者輸入的是何者? 如果是正整數(可能為2位數以上), 則將值存入k中; 如果是其他, 則要求使用者重新輸入; 問題是如果一開始宣告成int k, 則cin>>k 時就算使用者輸入文字, 也會變成數字,如此後來的判斷就無法區分使用者輸入的是文字還是數字. 謝謝指導~
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-01 22:43:23 IP:211.22.xxx.xxx 未訂閱
#include 
#include      void main(void)
 {
  char TempStr[32];
  int k;      scanf("%s",TempStr);
  if ( k = atoi(TempStr) )
    printf("%s 是數字.\n",TempStr);
  else
    printf("%s 不是數字.\n",TempStr);
 }
---------------------------------------------- We will either find a way, or make one. -Hannibal -。
angus_w
一般會員


發表:2
回覆:1
積分:0
註冊:2005-10-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-02 12:12:58 IP:210.66.xxx.xxx 未訂閱
謝謝 Stallion的回應, 沒想到atoi可以用的這麼靈活, 但是這種寫法還是有點小問題, 就是如果使用者輸入"123ABC"這類字串, 程式會判定k為123,是數字; 不過還是謝謝啦~ ^^
系統時間:2024-06-29 16:42:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!