小学生考试系统 课程设计

其实本来设计这个小学生考试系统的时候没想设计的那么复杂,但是经过我可爱的老师(嗯~ o(* ̄▽ ̄*)o!)的劝说下(劝说?!)还是一鼓作气好好做做吧!

 

首先我的小学生考试系统分为4个年级的考试模式,每个年级记得试题难度有所不同。

结合小学生目前所学内容:

一年级为100以内加减法

二年级为九九乘法表,另加500以内加减。

三年级多了一个除法,加减乘的数值也稍微变了一点。

四年级则包含了小数的加减法。

另外,最重要的一点,所有的加减乘除的运算都是计算机给随机出来的,这需要用到 rand()函数,不知道的盆友可以查一查,我也写了类似的文章,需要的话看看吧!~~

 

下面是我的主页面,按照要求操作

小学生考试系统 课程设计_第1张图片

 

源代码:

********************************************************************
烟台大学 计算机与控制工程学院  殷会东

********************************************************************

#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

double   answer[100];
void  writeData(int ,int ,char ,int ,double  );
void  writeData(int ,double ,char,double  ,double );
void one(int n );
void two(int n);
void three(int n);
void four(int n);
int m;
float zheng;
FILE *file;
int main()
{
    int n,pan=1;
    srand((unsigned)time(NULL));//使每一次的随机数不同
    int a;
    while(1)
    {
        system("cls");

        if(pan==2)
            break;
        printf("**********************欢迎进入小学生考试系统!**************************\n");

        printf("\n请选择您的您的年级:\n");

        cout <<"\t\t\t\t  1-------一年级\n";
        cout <<"\t\t\t\t  2-------二年级\n";
        cout <<"\t\t\t\t  3-------三年级\n";
        cout <<"\t\t\t\t  4-------四年级\n";

        scanf("%d",&a);

        printf("以下是小学生运算题,请输入题的数量:\n");
        scanf("%d",&n);

        switch(a)
        {
            case 1: one(n);break;
            case 2: two(n);break;
            case 3: three(n);break;
            case 4: four(n);break;

        }


       
        printf("\n请选择:\n1-继续测试\n2-退出\n");
        scanf("%d",&pan);
    }
    return 0;

}
void one(int n )
{
    int a,b,c,i,d,p=0;
    void result(int ,int );
    for(i=0; ia,避免减法出现复数,此处不起作用,小编是复制的下边的,懒得改了!嘿嘿!
        }
        else
        {
            do
         {
         a=rand()%(500+1);
         }while(a==0);
        do
        {
             b=rand()%(1000+1);
        }while(ba,避免减法出现复数                         
        }


        printf("\n第%d题:\n",i+1);
        printf("%d%c%d=",b,arr[d],a);
        scanf("%d",&c);
        if(arr[d]=='+')
        answer[i]=a+b;
        else  if(arr[d]=='-')
        answer[i]=b-a;
        else
        answer[i]=a*b;



        if (answer[i]==c)
        {  if(i!=n-1)
            printf ("\n答案正确,请继续下一题\n");
            else
{
                 printf ("\n答案正确,请继续下一题\n");
                  printf ("\n测试完毕!请看您的正确率\n");
            }
            p++;
        }
        else
        {
             printf("\n您的答案不正确,正确答案是:%.0lf\n",answer[i]);
             writeData(2,b,arr[d],a,answer[i]);
        }

    }

    result(n,p);
}
void three(int n)
{
    char arr[4]={'+','-','*','/'};
    int  a,b,c;
    int i,p=0,d;
    void result(int ,int );
    for(i=0; i>c;

        if(arr[d]=='+')
        {
            answer[i]=a+b;
            answer[i]=floor(answer[i]*100)/100;
           // gcvt(answer[i],2,s);
        }
        else
        {
             answer[i]=b-a;
             answer[i]=floor(answer[i]*100)/100;
            // gcvt(answer[i],2,s);
        }


        //if (strcmp(s,c)==0)
         if (answer[i]==c)
        {  if(i!=n-1)
            printf ("\n答案正确,请继续下一题\n");
            else
            {
                 printf ("\n答案正确,请继续下一题\n");
                  printf ("\n测试完毕!请看您的正确率\n");
            }


            p++;
        }
        else
        {
             printf("\n您的答案不正确,正确答案是:%.2lf \n",answer[i]);
             writeData(4,b,arr[d],a,answer[i]);
        }

    }

    result(n,p);
}

}
void  writeData(int i,double   b,char c,double  a,double  d)//写程序
{

    //打开文件
    file=fopen("account.txt","a");
    if(file==NULL)
    {
        cout<<"文件打开失败"<
有些部分我只是简单带过,个人建议自己把代码看懂后,自己打一遍,怎么说呢,编码学起来不是那麽容易的,只有自己去消化才能被吸收,
当然如果有不懂得可以给小编留言,小编看到后第一时间为您解答

你可能感兴趣的:(小学生考试系统 课程设计)