成员:任毫,言宇
代码:
#include<iostream>
#include<time.h>
#include<stdlib.h>
#include<stdio.h>
#include<string>
#include<fstream>
#include<iomanip>
#include<cmath>
#define random(x) (rand()%x)
using namespace std;
void Output(int sf)
{
if (sf == 1)
{
ofstream outfile("formula.txt", ios::out);
if (!outfile)
{
cout << "Open error!!" << endl;
exit(1);
}
outfile << "----------------欢迎!小学生四则运算答题系统:-D----------------" << endl;
outfile.close();
}
}
void main()
{
char diaoyongyunsuan();
int jieguo(int,int,char);
int Istrue_input(int mnu01) ;
int takeTest();
int n,SF,right=0;
string question;
ofstream outfile("formula.txt", ios::out);
if (!outfile)
{
cout << "open error!" << endl;
exit(1);
}
outfile << "----------------欢迎!小学生四则运算答题系统:-D----------------" << endl;
cout << "您是否需要保存文档?(0、不需要 1、需要)" << endl;
cin >> SF;
SF=Istrue_input(SF);//是否输入合法
Output(SF);
double percent;
printf("请输入你要运算的个数:");
scanf("%d",&n);
if (SF == 1)//文件输出
{
outfile << n << "道题目如下:" << endl;
}
for(int i=0;i<n;i++)
{
question= takeTest();
right=right;
outfile <<question<<endl;
}
printf("Powerful!\n");
printf("The number of right:%d\n",right);
percent=((double)right*100.00)/(double)n;
printf("The percent of right:%0.2f %%\n",percent);
outfile.close();
}
int Istrue_input(int mnu01)
{
while (1)
{
if (mnu01 != 0 && mnu01 != 1)
{
cout << "输入有误,请重新输入(请输入0或1):" << endl;
cin >> mnu01;
}
else
break;
}
return mnu01;
}
char diaoyongyunsuan()
{
char signal[4]={'+','-','*','/'};
srand((unsigned)time(NULL));
return signal[rand()%4];
}
int jieguo(int num1,int num2,char signal)
{
int res;
switch(signal)
{
case '+':
res=num1+num2;break;
case '-':
res=num1-num2;break;
case '*':
res=num1*num2;break;
case '/':
res=num1/num2;break;
default:
printf("运算符错误!\n");
}
return res;
}
double takeTest( )
{
int get;
int num1,num2,a;
char signal;
double biaodashi[10];
srand((unsigned)time(NULL));
signal=diaoyongyunsuan();
num1=rand()%50+1;
num2=rand()%50;
if(signal=='-')
{
if(num1<num2)
{
int temp;
temp=num1;
num1=num2;
num2=temp;
}
}
if(signal=='/')
{
if(num2==0)
{
int temp;
temp=num1;
num1=num2;
num2=temp;
}
}
printf("%d%c%d=",num1,signal,num2);
biaodashi[10]=num1+signal+num2;
scanf("%d",&get);
fflush(stdin);
if(jieguo(num1,num2,signal)==get)
{
printf("You're right!\n");
a=1;
}
else
{
printf("It's wrong!\n");
printf("The right answer is: %d\n",jieguo(num1,num2,signal));
a=0;
}
return biaodashi[10];
}
#include<time.h>
#include<stdlib.h>
#include<stdio.h>
#include<string>
#include<fstream>
#include<iomanip>
#include<cmath>
#define random(x) (rand()%x)
using namespace std;
void Output(int sf)
{
if (sf == 1)
{
ofstream outfile("formula.txt", ios::out);
if (!outfile)
{
cout << "Open error!!" << endl;
exit(1);
}
outfile << "----------------欢迎!小学生四则运算答题系统:-D----------------" << endl;
outfile.close();
}
}
void main()
{
char diaoyongyunsuan();
int jieguo(int,int,char);
int Istrue_input(int mnu01) ;
int takeTest();
int n,SF,right=0;
string question;
ofstream outfile("formula.txt", ios::out);
if (!outfile)
{
cout << "open error!" << endl;
exit(1);
}
outfile << "----------------欢迎!小学生四则运算答题系统:-D----------------" << endl;
cout << "您是否需要保存文档?(0、不需要 1、需要)" << endl;
cin >> SF;
SF=Istrue_input(SF);//是否输入合法
Output(SF);
double percent;
printf("请输入你要运算的个数:");
scanf("%d",&n);
if (SF == 1)//文件输出
{
outfile << n << "道题目如下:" << endl;
}
for(int i=0;i<n;i++)
{
question= takeTest();
right=right;
outfile <<question<<endl;
}
printf("Powerful!\n");
printf("The number of right:%d\n",right);
percent=((double)right*100.00)/(double)n;
printf("The percent of right:%0.2f %%\n",percent);
outfile.close();
}
int Istrue_input(int mnu01)
{
while (1)
{
if (mnu01 != 0 && mnu01 != 1)
{
cout << "输入有误,请重新输入(请输入0或1):" << endl;
cin >> mnu01;
}
else
break;
}
return mnu01;
}
char diaoyongyunsuan()
{
char signal[4]={'+','-','*','/'};
srand((unsigned)time(NULL));
return signal[rand()%4];
}
int jieguo(int num1,int num2,char signal)
{
int res;
switch(signal)
{
case '+':
res=num1+num2;break;
case '-':
res=num1-num2;break;
case '*':
res=num1*num2;break;
case '/':
res=num1/num2;break;
default:
printf("运算符错误!\n");
}
return res;
}
double takeTest( )
{
int get;
int num1,num2,a;
char signal;
double biaodashi[10];
srand((unsigned)time(NULL));
signal=diaoyongyunsuan();
num1=rand()%50+1;
num2=rand()%50;
if(signal=='-')
{
if(num1<num2)
{
int temp;
temp=num1;
num1=num2;
num2=temp;
}
}
if(signal=='/')
{
if(num2==0)
{
int temp;
temp=num1;
num1=num2;
num2=temp;
}
}
printf("%d%c%d=",num1,signal,num2);
biaodashi[10]=num1+signal+num2;
scanf("%d",&get);
fflush(stdin);
if(jieguo(num1,num2,signal)==get)
{
printf("You're right!\n");
a=1;
}
else
{
printf("It's wrong!\n");
printf("The right answer is: %d\n",jieguo(num1,num2,signal));
a=0;
}
return biaodashi[10];
}
思想感悟:
经过长时间的努力终于大概完成了代码,但是代码还不完整,最后返回不了错误的题,还得继续提高。