小学生算术能力测试系统(改进)
主要纠正了,类型输入错误时候流的状态的恢复,不恢复程序无法正常运行。。cin.sync()之前没有接触过。。原来程序的地址
//2014-03-12-09.47
#include
#include
#include
using namespace std;
static int num=0;
void checkcin(istream&in,double a,double b, int n)
{
// while(!in) //条件可改写为cin.fail()
// {cout<<"输入类型有错!请重新输入"<>ans;while(!cin){checkcin(cin,a,b,1);cin>>ans;}check(a+b,ans);break;case 2: cout<>ans;while(!cin){checkcin(cin,a,b,2);cin>>ans;}check(a-b,ans);break;case 3: cout<>ans;while(!cin){checkcin(cin,a,b,3);cin>>ans;}check(a*b,ans);break;default: while(0==b)b=rand()%10;//除数不能为零cout<>ans;while(!cin){checkcin(cin,a,b,4);cin>>ans;}check(a/b,ans);break;}cout<
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
