主要纠正了,类型输入错误时候流的状态的恢复,不恢复程序无法正常运行。。cin.sync()之前没有接触过。。原来程序的地址

//2014-03-12-09.47
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
static int num=0;
void checkcin(istream&in,double a,double b, int n)
{
//  while(!in)            //条件可改写为cin.fail()
//  {cout<<"输入类型有错!请重新输入"<<endl;cin.clear();cin.sync();switch(n){case 1:cout<<a<<"+"<<b<<"=";break;case 2:cout<<a<<"-"<<b<<"=";break;case 3:cout<<a<<"X"<<b<<"=";break;case 4:cout<<a<<"÷"<<b<<"=";break;}
//  }
}
void check(double a,double ans)
{if(ans==a){cout<<"对了。";num++;}else{cout<<"错了。。";cout<<"答案应该是:"<<a;}}
int main()
{srand(time(0));double ans;cout<<"-------------------------------小学生算数练习哦---------------------------------"<<endl;for(int i=1;i<=10;i++){double a=rand()%10;double b=rand()%10;cout<<"第";cout.width(2);cout<<i<<"题:";switch(rand()%4){case 1:   cout<<a<<"+"<<b<<"=";cin>>ans;while(!cin){checkcin(cin,a,b,1);cin>>ans;}check(a+b,ans);break;case 2:    cout<<a<<"-"<<b<<"=";cin>>ans;while(!cin){checkcin(cin,a,b,2);cin>>ans;}check(a-b,ans);break;case 3:    cout<<a<<"X"<<b<<"=";cin>>ans;while(!cin){checkcin(cin,a,b,3);cin>>ans;}check(a*b,ans);break;default:  while(0==b)b=rand()%10;//除数不能为零cout<<a<<"÷"<<b<<"=";cin>>ans;while(!cin){checkcin(cin,a,b,4);cin>>ans;}check(a/b,ans);break;}cout<<endl;}cout<<"您最后回答对了"<<num<<"道题。。"<<endl;return 0;}

小学生算术能力测试系统(改进)相关推荐

  1. 第四周项目三-随机数函数应用于游戏(小学生算术能力测试系统)

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年3月20日*版 本 号:v1. ...

  2. c语言 编写小学生100以内四则运算数学测试游戏,运用C语言开发一个“小学生算术四则运算测试系统”。...

    该系统是让计算机充当一位给小学生布置作业的算术老师,为学生出题并阅卷.该系统要求实现下列功能: ①为小学生出题(分别进行+.-.*./等不同运算). ②学生做题后,进行评阅.学生每做一题后,评阅给出& ...

  3. 小学生算术加法测试c 语言,程序设计方法学课程设计--小学生算术四则运算测试程序(C)...

    背景 伴随着人类社会的进步,人们的计算工具也在不断的变化,从远古时期的结绳计数,到算筹,算盘,以及近代的机械计算机.计算尺,直至今天我们广泛运用的电子计算机.计算工具的每一次进步,都导致科学技术发生深 ...

  4. python10以内的加减计算器_python学习之实现简单计算器(加减乘除)小学生能力测试-Go语言中文社区...

    1.小学生算术能力测试系统: 题目要求: 设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能: 提供10道加.减.乘或除四种基本算术运算的题目: 练习者根据显示的题目输入自己的答案, ...

  5. C语言大作业小学生数学检测系统,小学数学测试系统C语言设计.doc

    小学数学学习系统设计报告 目 录 一.设计要求 -----------2 二.设计目的 -----------2 三.设计的具体实现 1.系统概述:----------------2 2.总体设计:- ...

  6. 小学生阅读测试软件,小学生阅读能力测评

    <小学生阅读能力测评>由会员分享,可在线阅读,更多相关<小学生阅读能力测评(4页珍藏版)>请在人人文库网上搜索. 1.小学生阅读水平测评在课堂教学中使用形成性评价有什么好的做法 ...

  7. Python实例:小学生计算能力测试系统

    小学生计算能力测试系统 设计一个程序,用来实现帮助小学生进行算术运算练习, 它具有以下功能: 提供基本算术运算(加减乘)的题目,每道题中的操作数是随机产生的, 练习者根据显示的题目输入自己的答案,程序 ...

  8. 综合素质能力测试软件,儿童综合素质体检测评系统

    1.图片词汇PPVT智力测试(3岁6个月-9岁2个月儿童) 2.联合型瑞文CRT智商测试(7-16岁儿童) 3.绘人MOD智能测试(4-12岁儿童) 4.丹佛小儿智能发育筛查DDST(0-6岁) 5. ...

  9. c语言做小学生测验程序,[转载]程序设计方法学课程设计--小学生算术四则运算测试程序(C)...

    背景 伴随着人类社会的进步,人们的计算工具也在不断的变化,从远古时期的结绳计数,到算筹,算盘,以及近代的机械计算机.计算尺,直至今天我们广泛运用的电子计算机.计算工具的每一次进步,都导致科学技术发生深 ...

最新文章

  1. 关于ASP.NET Web 部件连接的引入
  2. Bash中的$*和$@的区别
  3. adsl服务器客户端配置cisco_基于ISE对Cisco网络设备部署AAA
  4. oracle expdp 多线程,Oracle expdp 过滤和并行
  5. 使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)
  6. Android Studio --- [学习笔记]RadioButton、CheckBox、ImageView、ListView、TCP的三次握手
  7. python递归创建目录_Node.js和Python使用递归查看目录文件和创建目录
  8. vue组件命名指南,不为取名而纠结
  9. 【Linux入门学习之】数据流重定向
  10. c/c++ 基金会(七) 功能覆盖,虚函数,纯虚函数控制
  11. Socket Tools的使用
  12. 一定能用到的简单但实用的五种按钮样式(HTML+CSS步骤详解,含详细注释)
  13. Mac查看端口号占用
  14. 找单生狗,模拟atoi,模拟offsetof,交换奇偶位
  15. 细究Android开发代码中心化所带来的问题
  16. Material Design控件使用(一)
  17. 什么是PCB沉金?为什么要沉金?
  18. Go语言性能剖析利器--pprof实战
  19. 2019最新Web全栈架构师第九期视频教程全套
  20. scrapy链接mysql_Scrapy存入MySQL(四):scrapy item pipeline组件实现细节

热门文章

  1. 民间秘术——开运去霉顺利诸法
  2. Java学习第二十七天<面向对象综合练习><猜拳游戏>
  3. Android动态设置字体颜色
  4. 2020牛客暑期多校训练营(第八场)
  5. 组织行为学单项选择题
  6. [转自安智论坛]Android软件汉化教程(强制汉化/Apktool汉化/精简/去广告)
  7. H5视频之视频直播(前端, video.js)
  8. JAVA探险解谜游戏_【盘点】解谜冒险必玩游戏
  9. 找不到所选字体 “Cascadia Mono“。 改为选择 “Consolas“。教程
  10. AI之强化学习、无监督学习、半监督学习和对抗学习