关闭

课程设计:小学生考试系统

214人阅读 评论(0) 收藏 举报
分类:

问题及代码

/*烟台大学计算机与控制工程学院
题目描述:做一个小学生考试系统,功能包括:
    (1)利用随即数出十道加减乘除的数学题;
    (2)小学生用户答题给出每道题的答案;
    (3)对小学生的答题进行评判;
    (4)计算出小学生答题的正确率;
作者:展一
完成时间:2017年
#include <stdio.h>1月3日
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int score=0,a,b,d,e,t,c,i,j;
    srand(time(0));
    printf("                     小天才数学考试系统\n");
    for(j=0; j<3; j++)
    {
        printf("请输入以下编号进入所在年级题库:\n");
        printf("0:一、二年级\n");//针对不同年级的学生进行分开测试
        printf("1:三到六年级\n");
        printf("请输入:");
        scanf("%d",&e);
        if(e==1)
        {
            for(i=0; i<10; i++)
            {
                printf("第 %d 题: ", i+1);
                c=rand()%4;
                do
                {
                    a=rand()%100+1;
                    b=rand()%100+1;
                    if(a<b&&(c==1||c==3))//减法套保证被减数大于减数,除法要保证被除数大于除数
                    {
                        d=a;
                        a=b;
                        b=d;
                    }
                    if(c==3)
                        a=(a/b)*b;
                }
                while((a+b)>=100||a*b>=100);
                switch(c)
                {
                case 0:
                    d=a+b;
                    printf("%d+%d=", a, b);
                    break;
                case 1:
                    d=a-b;
                    printf("%d—%d=", a, b);
                    break;
                case 2:
                    d=a*b;
                    printf("%d×%d=", a, b);
                    break;
                case 3:
                    d=a/b;
                    printf("%d÷%d=", a, b);
                    break;
                }
                scanf("%d", &t);
                if(t==d)
                {
                    printf("    right! \n");
                    score++;
                }
                else
                    printf("    wrong! \n");
            }
        }
        else if(e==0)
        {
            for(i=0; i<10; i++)
            {
                printf("第 %d 题: ", i+1);
                c=rand()%2;
                a=rand()%10+1;
                b=rand()%10+1;
                if(a<b&&(c==1||c==3))
                {
                    d=a;
                    a=b;
                    b=d;
                }
                switch(c)
                {
                case 0:
                    d=a+b;
                    printf("%d+%d=", a, b);
                    break;
                case 1:
                    d=a-b;
                    printf("%d—%d=", a, b);
                    break;
                }
                scanf("%d", &t);
                if(t==d)
                {
                    printf("    right! \n");
                    score++;
                }
                else
                    printf("    wrong! \n");
            }
        }
        else
        {
            printf("输入有误,请重新输入\n");
            continue;
        }
        printf("共答对了%d道题,总得分为:%d分,得分率%.2f\n", score,score*10, 1.0*score/10*100);
        if(score*10>=60)
        {
            printf("恭喜你,成绩合格!");
            break;
        }
        else
        {
            if(j<2)
                printf("很抱歉,你的成绩不合格,请重新答题\n");
            else
            {
                printf("很抱歉,本次考试你未通过,请来年再考!");
                break;
            }
        }
    }
    return 0;
}


 

运行结果

系统运行:1、输入0或者1可以进入考试系统,如果输入其他数字,会重新循环,重新输入;

                    2、循环三次,如果三次的分数都不及格,就会结束循环;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10965次
    • 积分:780
    • 等级:
    • 排名:千里之外
    • 原创:70篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论