超级无敌小学四则运算题目程序

尝试本身写一个能自动生成小学四则运算题目的命令行“软件”,分别知足下面的各类需求:ios

a)自动生成小学四则运算题目,除整数之外,还支持真分数的四则运算;c++

b)能接受用户输入答案,采用if语句来判断对错。最后给出总共对错的数量;dom

c)运用for循环来实现批量给出100道的题目,而且使用计算机C语言中的rand函数,rand是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子,来保证题目不能重复;函数

d)能够经过增长case数量来增长运算符,由于步骤太多太难,这个程序中的题目只有一个运算符;学习

e)为了更好的表达结果,全部的结果非整数的除法运算和真分数运算的结果都只支持分数形式,由于我c++学很差,好多不会,查阅了好多资料后,结果也只能如下图中的形式输入,虽然结果能很好的表示出来,可是不美观,但愿之后经过更多的学习机会去学到更好的c++知识。spa

程序运行结果截图:命令行

程序代码:3d

#include<iostream>
#include<stdlib.h>
#include<iomanip>
#include<cmath>
#include<time.h>
using namespace std;blog

#define random() (rand()%100)ip

void main(){ int s1,s2,s3,s4; double s5,s6; int a,b,c,d,e,f,g; int right=0; int wrong=0; srand((int)time(NULL)); for(int i=0;i<100;i++) { s1=random(); s2=random(); int k=(int)rand()%5; switch(k) { case 0: { cout<<s1<<"+"<<s2<<"="; cin>>s5; if(s1+s2==s5) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } break; } case 1: { cout<<s1<<"-"<<s2<<"="; cin>>s5; if(s1-s2==s5) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } break; } case 2: { cout<<s1<<"*"<<s2<<"="; cin>>s5; if(s1*s2==s5) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } break; } case 3: { while(s2==0) s2=random(); cout<<s1<<"/"<<s2<<"="; if(s1%s2==0) {cin>>s5; if(s5==s1/s2) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } } else { cin>>s5;cout<<"/"<<endl;cin>>s6; a=s1; b=s2; for(c=a;c>=1&&c<=a;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } if((f==s5)&&(g==s6)) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } break; } } case 4: { while(s2==0||s1>=s2) { s1=random(); s2=random(); } s3=random(); s4=random(); while(s4==0||s3>=s4) { s3=random(); s4=random(); } int l=(int)rand()%4; switch(l) { case 0: { cout<<"("<<s1<<"/"<<s2<<")"<<"+"<<"("<<s3<<"/"<<s4<<")"<<"="; cin>>s5;cout<<"/"<<endl;cin>>s6; a=s1*s4+s2*s3; b=s2*s4; if(a>b) { for(c=b;c>=1&&c<=b;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } } else { for(c=a;c>=1&&c<=a;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } } if((f==s5)&&(g==s6)) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } break; } case 1: { cout<<"("<<s1<<"/"<<s2<<")"<<"-"<<"("<<s3<<"/"<<s4<<")"<<"="; cin>>s5;cout<<"/"<<endl;cin>>s6; a=s1*s4-s2*s3; b=s2*s4; if(a>b) { for(c=b;c>=1&&c<=b;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } } else { for(c=a;c>=1&&c<=a;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } } if((f==s5)&&(g==s6)) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } break; } case 2: { cout<<"("<<s1<<"/"<<s2<<")"<<"*"<<"("<<s3<<"/"<<s4<<")"<<"="; cin>>s5;cout<<"/"<<endl;cin>>s6; a=s1*s3; b=s2*s4; if(a>b) { for(c=b;c>=1&&c<=b;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } } else { for(c=a;c>=1&&c<=a;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } } if((f==s5)&&(g==s6)) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } break; } case 3: { cout<<"("<<s1<<"/"<<s2<<")"<<"/"<<"("<<s3<<"/"<<s4<<")"<<"="; cin>>s5;cout<<"/"<<endl;cin>>s6; a=s1*s4; b=s2*s3; if(a>b) { for(c=b;c>=1&&c<=b;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } } else { for(c=a;c>=1&&c<=a;c--) { d=a%c; e=b%c; if(d==0&&e==0) { f=a/c; g=b/c; } } } if((f==s5)&&(g==s6)) { cout<<"right!"<<endl;right++; } else { cout<<"wrong!"<<endl;wrong++; } break; } } }}}cout<<"the number of right answer:"<<right<<","<<"the number of wrong answer:"<<wrong<<endl;system("pause");}

相关文章
相关标签/搜索