Re: [問題] 如何判別輸入資料為非數字?
※ 引述《VENGENE (我不在~)》之銘言:
: 寫題目時突然想到如果有眼睛不好的、手滑的
: 鍵入非數字的資料(+-*/abc之類的)
: 有辦法判斷嗎?怎樣程式才不會亂掉?
: 希望有高手指點迷津~ <(_ _)>
: 我是newb...囧rz
比較麻煩 但是還是可以辦到,
使用檢查ASCII碼的方式達成。
一開始讓 user 輸入字串
接著一個字元一個字元檢查是否落在 0-9的 ASCII碼範圍內即可。
int main(void ){
char s[50];
int i,j,n;
bool isnumber=false;
printf("please input:");
gets(s);
n=strlen(s);
for(i=0;i<n;i++){
j=(int)s[i];
if(j<48||j>57)
isnumber=true;
}
if(isnumber){
printf("輸入非數字");
}else{
printf("都是數字");
}
getch();
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.50.38
※ 編輯: waterdisney 來自: 140.134.50.38 (05/11 16:02)
推
05/11 18:54, , 1F
05/11 18:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章