第一阶段结对作业验收小学生四则运算
提交内容包括可以运行的程序或安装包;
源程序代码;
软件使用说明书;
结对成员简介和分工说明;
结对成员简介:组长任毫:编程等主要任务
组员言宇:检校
源代码:
#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 main()
{
char diaoyongyunsuan();
int jieguo(int,int,char);
int Istrue_input(int mnu01) ;
void Output(int sf) ;
int takeTest();
int n,a,SF,right=0;
string question;
ofstream outfile("formula.txt", ios::out);
if (!outfile)
{
cout << "open error!" << endl;
exit(1);
}
outfile << "运算的题目数为:(错误的返回)" << 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++)
{
a= takeTest();
right=right+a;
if(a==0)
outfile <<a<<endl;
}
printf("正确的数目:%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;
}
int takeTest( )
{
int get;
int num1,num2,a;
char signal;
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);
scanf("%d",&get);
fflush(stdin);
if(jieguo(num1,num2,signal)==get)
{
printf("正确!\n");
a=1;
}
else
{
printf("错误!\n");
printf("正确的答案: %d\n",jieguo(num1,num2,signal));
a=0;
}
return a;
}
void Output(int sf)
{
if (sf == 1)
{
ofstream outfile("formula.txt", ios::out);
if (!outfile)
{
cout << "Open error!!" << endl;
exit(1);
}
outfile << "错误的题目数" << endl;
outfile.close();
}
}
软件使用说明书
一.开发条件
vc++6.0
二.运行步骤
1.先打开文件
2.运行程序会出现
选择是否需要保存文件
3.进行运算
输入你所需要运算的个数
4.开始计算
结果会(1)判断对错
(2)给出正确答案
(3)得出正确的数目
(4)会保存到一个文件中
一直没有解决这个问题返回到文件的一直是错误时a所对应一个0
尽了最大的努力也没有在最后解决错题一代数式的形式导出。
感想:这次变成难度还是有的,耗费了很长时间,但也有了提升。