好奇怪的问题。...谁解决下
好奇怪的问题。...谁解决下 先看程序里的一段
printf(" ***-**-**-**-**-**-**-**-**-**-**-***\n");
printf(" * welcome!What can I do for you? *\n");
printf(" * *\n");
printf(" * 1.Buy a thing. *\n");
printf(" * 2.Look for. *\n");
printf(" * 3.Settings(only for administrator)*\n");
printf(" * *\n");
printf(" ***-**-**-**-**-**-**-**-**-**-**-***\n");
printf("Please chose :");
scanf("%d",&chose);
switch(chose)
{
case 1:buy();break;
case 2:chakan();break;
case 3:guanli();break;
default:printf("ERROR,press any key to continue\n");getch();main();
}
}
一个选择菜单的问题。 现在的问题是:输入错误时,就是输入1,2,3以外的.数字可以提示错误并返回重输(如4-9),但字母和特殊符号就会无限循环提示错误,不给重输的机会...
在网上查到2种方法1.是在scanf前加fflush(stdin); 清除缓寸
2是写成 scanf("% d",&chose); 都无效...
谁能解决下。程序里的所有选单都有这个问题..