程序设计实训项目一 小学生考试系统

      题目描述

小学生考试系统

做一个小学生考试系统,功能如下:

(1)利用随机函数出10道加法题;

(2)小学生用户答题,给出每道题的答案;

(3)对小学生的答题进行评判;

(4)计算小学生的答题正确率。

  进一步改进,提高题目质量。要求

(1)百以内算术:运算数、结果都在100以内!

(2)先随机产生运算符后,针对各个运算产生运算数保证下列要求:

对加法,两数之和保证不大于100;

对减法,被减数大于减数,且被减数不大于100;

对乘法:两数之积不超过100;

对除法:被除数大于除数,且被除数不大于100,

 (3)除数不许为0。

可进行多次选择,是否继续答题

代码:

/*烟台大学计算机学院 2016
作者: 马春澎
完成日期:2017年1月4日 */
#include 
#include 
#include
void f(int choose);//定义函数,在用户想继续答题时应用。
int main()
{
    int a,b,sum,choose,i,answer,count1;
    count1=0;//计数
    printf("*****GOOD LUCK!*****\n\n");
    for(i=0; i<10; i++)
    {
        sum=0;
         srand(time(0));
        a=rand()%10+1;
        b=rand()%10+1;//定义两个随机数。
        sum=a+b;
        printf("%d+%d=",a,b);
        scanf("%d",&answer);//计算
        if(answer==sum)
        {
            printf("right!\n");//如果结果正确输出right,并记下做对的个数
            count1++;
        }
        else printf("wrong!\n");
    }
    printf(" 正确率 :%d%%\n\n",count1*10);
      printf(" 你的得分为 :%d 分\n\n",count1*10);
    if(count1>6)
        printf("*****你真棒!*****\n");
    else printf("*****继续努力!*****\n");
    printf("请选择 :输入1 继续答题难度上升,    输入其他任意键退出。。。\n");
    scanf("%d",&choose);
    f(choose);
    return 0;
}
/*************************************************************
功能描述:进一步提高题目难度
输入参数:choose—选择是否继续答题  
返 回 值:无
其他说明:无
*************************************************************/
void f(int choose)
{
    int answer2,y,count2=0,c,choose2=1,d,e,t,j;
    srand(time(0));
    if(choose==1)//如果选择1进入循环
    {
        while(choose2==1)
        {
            system("cls");//清空屏幕上以前的数据
            printf("*****GOOD LUCK!*****\n\n");
            for(j=0; j<10; j++)
            {
                t=rand()%4+1;//定义随机数用来储存运算符
                do
                {
                    c=rand()%100+1;
                    d=rand()%100+1;
                    if(c=100||c*d>=100);//保证两数之和不大于100,两数之积小于100
                switch(t)//进行运算
                {
                case 1:
                    y=c+d;
                    printf("%d+%d=",c,d);
                    scanf("%d",&answer2);
                    if(answer2==y)
                    {
                        printf("right!\n");
                        count2++;
                    }
                    else printf("wrong!\n");
                    break;
                case 2:
                    y=c-d;
                    printf("%d-%d=",c,d);
                    scanf("%d",&answer2);
                    if(answer2==y)
                    {
                        printf("right!\n");
                        count2++;
                    }
                    else printf("wrong!\n");
                    break;

                case 3:
                    y=c*d;
                    printf("%d×%d=",c,d);
                    scanf("%d",&answer2);
                    if(answer2==y)
                    {
                        printf("right!\n");
                        count2++;
                    }
                    else printf("wrong!\n");
                    break;
                case 4:
                    y=c/d;
                    printf("%d÷%d=",c,d);
                    scanf("%d",&answer2);
                    if(answer2==y)
                    {
                        printf("right!\n");
                        count2++;
                    }
                    else printf("wrong!\n");
                    break;
                }
            }
            printf(" 正确率 :%d%%\n\n",count2*10);
            printf(" 你的得分为 :%d 分\n\n",count2*10);
            if(count2>6)
                printf("*****你真棒!*****\n");
            else printf("*****继续努力!*****\n");
            printf("你还想再做吗?\n输入1继续做  输入其他键退出。。。\n");
            scanf("%d",&choose2);//选择循环是否继续
        }

    }
}
运算结果

程序设计实训项目一 小学生考试系统_第1张图片



知识点总结

随机数和函数的应用

学习心得

随机函数的调用方法要知道,循环的位置要放好。



你可能感兴趣的:(C语言)