二柱子四则运算

 成员:任毫,言宇
代码:
#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];
  
}
思想感悟:
经过长时间的努力终于大概完成了代码,但是代码还不完整,最后返回不了错误的题,还得继续提高。

猜你喜欢

转载自www.cnblogs.com/yanyu123/p/9919269.html
今日推荐