我正在處理程序,其中向用戶顯示選項列表,然後他將輸入一個整數來指定他想要選擇的選項。現在,消除了用戶可能輸入除有效值之外的整數值的情況。但是如果他輸入任何其他值,比如說一個字符或一個字符串,程序就會進入無限循環,無限期地打印選項列表。我該如何糾正這一點?我的意思是,當我輸入一個不是整數的值時,我應該能夠給我的用戶一個錯誤。C++用戶輸入整數變量的非整數值
任何幫助表示讚賞。這是一個示例代碼。
do{
printf("Select appropriate option.\n");
printf("Press 1 to do this");
printf("Press 2 to do that.\n");
printf("Press 3 to exit the program.\n");
scanf("%d",&choice);
if(choice!=1 && choice!=2 && choice!=3)
printf("You entered an invalid choice. Please enter again.\n");
switch(choice){
case 1:
//do this
break
case 2:
//do that
break;
case 3:
exit(1);
}}
while(choice!=3);
當用戶對choice
進入非整數值,所以基本上我想要的程序來通知用戶,並要求他再輸入。
這沒有真正的理由被標記爲[C++]而不是[C]。 – AnT