C生成随机简单运算式_第1页
C生成随机简单运算式_第2页
C生成随机简单运算式_第3页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include <iostream>#include <stdlib. h>#include <ctime>nclude <conio. h>using std:cin;using std:cout;using std:endl;/计算式数量int const Num = 100;/计算式中最大数int const MCum = 100;/每题分数int const PerMark = 1;/计算结果最大值int const MaxResult = 100;/计算结果最小值int const MinResult = 0;enum enOpAdd

2、, Subtract, Multiply, Divide;/将枚举类型转换为字符类型,以便输出。char enum2char (enOp op)switch (op)case Add:return ' +'case Subtract:return ' -';case Multiply:return ' x ;case Divide:return ,;return ''计算生成表达式的正确结果。int myResult(int left,int right, enOp op)switch (op)case Add:return left+r

3、ight;case Subtract:return left-right:case Multiply:return left*right;case Divide:return left/right;return 0;检査生成计算式的正确与否。其中减法结果不能为负数,除法结果不能为小数。bool checkFormula(int left, int right, enOp op)switch (op)case Add:return true;case Subtract:if(left < right) return false; return true;case Multiply:retu

4、rn true;case Divide:if(right = 0)return false;if(double(left/right) !二 double(double(left)/double(right)return false;return true;return false;依据给定操作符,生成符合条件的表达式。void getFormula(int* left, int*:right, enOp op)/srand(time(NULL);*left 二 1 + rand () % MaxNum:*right = 1 + rand () % MaxNum;if(checkFormula

5、(*left, bright, op) && myResult(*left, bright, op)<= MaxResult && myResult(*left, *right, op)>= MinResult)break;int main()/操作符左值int leftNum;操作符右值int rightNum;/用户输入计算结果int resultum;/操作符+r/enOp operNum;/正确答案个数int answerRight = 0;cout«"正在生成,请稍等。"«endl;随机种子srand

6、(t ime(NULL);开始生成汁算表达式。for (int i 二 0;iNum;i+)/srand( (unsigned)time(NULL);/操作符oper i = enOp(rand()%4);getFormula(&lefti, ighti, operi); cout«"生成计算式完成,开始答题! "endl;/输出表达式,让用户答题for (int i = 0;i<Num;i+)/输出表达式cout«"第题:n"cout«lefti<<J J <<enum2char(op

7、eri)«J * <<righti<<= ”;/获取用户答案cin>>result i;/比对用户答案是否.止确,止确输出right, answerRigth加一,否则输出not correctoif(resulti二二 myResult(lefti, righti, operi)cout<<,Right! n"answerRight+;elsecout<<,Not correct! n"/全部答题完毕,输出正确答案个数及得分。cout«"终止答题,共题,每题,«PerMark&#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论