四则运算升级版

  关于四则运算的问题,我的第一条博客已经有所解决;而现在,我要解决在我这个界面内,可以做到即时答题,并且可以即时得出对错。

并将错误的题目记录下来,我通过写文件的方法保存了错题。

  在线答题的解决方法:当随机产生了一个题目之后,便设置输入变量值,从而达到在线答题的效果,与此同时,若答错了,则将此题目写入文件中。

具体代码如下:

 1 #include<iostream>
 2 #include<fstream>
 3 #include<time.h>
 4 #include<stdlib.h> //调用随机函数;
 5 using namespace std;
 6 int main()
 7 {
 8     srand((unsigned)time(NULL));//使随机产生的题目不重复;
 9     int x,y,n;//x,y为随机数,n为题目数量;
10     int ch;
11     cout<<"输入要做的题目数量:";
12     cin>>n;
13     float a,b;
14     ofstream ofile;               //定义输出文件。
15     ofile.open("E:\\信息作业\\软件工程概论\\错题本.txt");     //作为输出文件打开。
16     ofile<<"错题:"<<endl;   //标题写入文件。
17     for(int i=1;i<=n;i++)
18     {
19         x=rand()%100;y=rand()%100;
20         ch=rand()%4;
21         switch(ch)
22         {
23         case 0:cout<<x<<"+"<<y<<"="<<" ";b=x+y;cin>>a;
24             if(a==b)
25                 cout<<""<<endl;
26             else
27             {
28                 cout<<"×"<<endl;
29              ofile<<x<<"+"<<y<<"="<<" "<<a<<endl;
30             }
31             break;
32         case 1:cout<<x<<"-"<<y<<"="<<" ";b=x-y;cin>>a;
33             if(a==b)
34                 cout<<""<<endl;
35             else
36             {
37                 cout<<"×"<<endl;
38                 ofile<<x<<"-"<<y<<"="<<" "<<a<<endl;
39             }
40             break;
41         case 2:cout<<x<<"*"<<y<<"="<<" ";b=x*y;cin>>a;
42             if(a==b)
43                 cout<<""<<endl;
44             else
45             {
46                 cout<<"×"<<endl;
47                 ofile<<x<<"*"<<y<<"="<<" "<<a<<endl;
48             }
49             break;
50         case 3:
51             while(y==0)
52             {
53                 y=rand()%100;
54             }
55             cout<<x<<"/"<<y<<"="<<" ";b=(float)x/y;cin>>a;
56             if(a==b)
57             cout<<""<<endl;
58         else
59         {
60             cout<<"×"<<endl;
61             ofile<<x<<"/"<<y<<"="<<" "<<a<<endl;
62         }
63         }
64         //if(i%10==0)
65             //cout<<endl;
66     }
67     ofile.close();
68     system("pause");
69     return 0;
70 }

测试结果如图:

猜你喜欢

转载自www.cnblogs.com/stdu-412/p/9910906.html
今日推荐