我有一個小程序,我要求用戶輸入並將它們存儲到數組中。防止用戶輸入在C++中做選擇?
我的問題是,如果用戶輸入更多然後3個數字可以說例如:-3 7 2 1然後點擊進入
第一3將被存儲在數組中,但最後一個號碼將被作爲選擇輸入所以然後它會選擇選項1.
我會如何防止這種情況下,用戶確實輸入超過3個數字?
代碼在這裏當用戶輸入更多然後3號和命中進入
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main() {
int select;
int array[3];
for (int i = 0; i < 3; i++)
{
cin >> array[i];
}
cout<<"select from the following options \n";
cout<<"enter option 1 to print index 0\n";
cout<<"enter option 2 to print index 1\n";
cout<<"enter option 3 to print index 2\n";
cin >> select;
if (select == 1)
{
cout <<"\nprinting index 0 with a value of: "<<array[0];
}
else if (select == 2)
{
cout <<"\nprinting index 1 with a value of: "<<array[1];
}
else if(select == 3)
{
cout <<"\nprinting index 2 with a value of: "<<array[2];
}
else
{
cout<<"invalid selection";
exit(1);
}
return 0;
}
產品圖
http://i1154.photobucket.com/albums/p529/strk44/code/picEX.png
只要採取3個輸入,並跳過到行的結束 - '的std :: cin.ignore(的std :: numeric_limits <性病:: streamsize可> :: MAX(), '\ n');' – 2014-11-24 02:01:06
我真的希望我能讓你成爲最好的答案。你的工作很完美! – Bex 2014-11-24 08:16:23