如题:
int Menu()
{
int i=9;
system("cls");
puts("");
puts("\t\t\t\t 管理系统");
puts("\n\t\t\t* * * * * * * * * * * * * *");
puts("\t\t\t* 1、浏览信息 *");
puts("\t\t\t* 2、添加信息 *");
puts("\t\t\t* 3、查找信息 *");
puts("\t\t\t* 4、修改信息 *");
puts("\t\t\t* 4、删除信息 *");
puts("\t\t\t* 0、退出 *");
puts("\t\t\t* * * * * * * * * * * * * *");
cout<<"请输入:";
cin.sync;
cin >> i;
//fflush(stdin);
//scanf("%d", &i);
switch (i)
{
case 1:
Browse();
system("pause");
break;
case 2:
Input();
break;
case 3:
Find();
system("pause");
break;
case 4:
Modification();
break;
case 5:
Delete();
break;
default:
break;
}
return i;
}
上述代码中,如果不小心输错(如输成了字母)就会无限刷新屏幕 但是如果用fflush刷新了缓存在scanf输错成字母也没有关系,fflush对cin无效 请问,cin应该怎么刷新缓存啊 求指教 感激不尽
int Menu()
{
int i=9;
system("cls");
puts("");
puts("\t\t\t\t 管理系统");
puts("\n\t\t\t* * * * * * * * * * * * * *");
puts("\t\t\t* 1、浏览信息 *");
puts("\t\t\t* 2、添加信息 *");
puts("\t\t\t* 3、查找信息 *");
puts("\t\t\t* 4、修改信息 *");
puts("\t\t\t* 4、删除信息 *");
puts("\t\t\t* 0、退出 *");
puts("\t\t\t* * * * * * * * * * * * * *");
cout<<"请输入:";
cin.sync;
cin >> i;
//fflush(stdin);
//scanf("%d", &i);
switch (i)
{
case 1:
Browse();
system("pause");
break;
case 2:
Input();
break;
case 3:
Find();
system("pause");
break;
case 4:
Modification();
break;
case 5:
Delete();
break;
default:
break;
}
return i;
}
上述代码中,如果不小心输错(如输成了字母)就会无限刷新屏幕 但是如果用fflush刷新了缓存在scanf输错成字母也没有关系,fflush对cin无效 请问,cin应该怎么刷新缓存啊 求指教 感激不尽
