作者NIKE74731 (做遊戲的心)
看板C_and_CPP
標題[問題] 希望輸入數字但輸入的是文字
時間Wed Dec 23 16:11:45 2009
int i_piece;//玩家所輸入之數字
int inputOK = 1;
do{
cout << "請輸入號碼(1~9)....";
cin >> i_piece;
if(i_piece>0 && i_piece<10){//判斷是否介於1~9之間
if(i_board.arr[i_piece] == 0) {//判斷是否未放置棋子
i_board.last_put = i_piece;
i_board.arr[i_piece] = 1;
player_arr[player_count] = i_piece;
player_count++;
inputOK = 0;
}
else cout << "此位置已置放棋子,請選擇其它位置........" << endl;
}
else cout << "您輸入的並非1~9其中一個數字,再輸入一次..." << endl;
}while(inputOK);
這是我做的井字遊戲的使用者輸入部份
但是我如果輸入非數字的資料(e.x 英文字母abc之類的)
就會進入無窮迴圈
且會一直顯示您輸入的並非1~9其中一個數字,再輸入一次...
請問問題出在哪裡呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.125.194.29
推 VictorTom:試著在"...再輸入一次..."之後把輸入緩衝區抓光光看看. 12/23 16:25
推 jack86:判段輸入是否是數字? 12/23 21:58
→ jack86:沒注意到已經有人回文了XD 12/23 21:59