19-小学生考试系统

作       者:蔡伟

完成日期:2017.1.5

题目描述:

1.利用随机函数出十道加法题;

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

3.对小学生答案进行评判;

4.计算小学生的答案正确率。

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
# include <time.h>
int i,a,b,c[10],k[10],x=0;
int score;
int score2;
/****************************************************************
功能描述:提供学生登入,给出题目要求。
输入参数:num-学生学号
           ch-学生密码
返回值:无
*****************************************************************/
void f();
/****************************************************************
功能描述:提供补考试题。
输入参数:a,b-随机数
           k[i]-学生输入答案
           c[i]-正确答案
           score-学生成绩
返回值:无
****************************************************************/
void retest(int score2);
int getch();
int main()
{
    f();
    srand((unsigned)time(NULL));
    srand(time(NULL));
    for(i=0; i<10; i++)
        {
            printf("第%d题: ",i+1);
            a=(rand())%100+1;
            b=(rand())%100+1;
            printf("%d+%d=",a,b);
            scanf("%d",&k[i]);
        c[i]=a+b;
        if(k[i]==c[i])
        {
            x++;
        }
        score=x*10;
    }
    printf("正在计算您的成绩请稍等...");
    Sleep(2000);
    printf("本次测验成绩为:");
    printf("%d\n",score);
    printf("本次测验的正确率为:");
    printf("%%");
    printf("%d\n",score);
        if(score<60)
    retest(score2);
    if(score2>60)
    {
        printf("恭喜!您顺利通过了本次测验\n");

    }
    else
    {
        printf("很遗憾您本次测验未及格\n");
    }
    printf("欢迎下次使用");
    printf("\n\n");
    printf("按任意键退出");
    return 0;
}
void f()
{
    printf("欢迎使用本操作系统\n");
    Sleep(1000);
    printf("\n");
    printf("\n");
    int num,ch;
    printf("请输入学号:\n");
    scanf("%d",&num);
    printf("请输入密码:\n");
    while((ch=getch())!='\r')
    {
        putchar('*');
    }
    printf("\n");
    printf("登录中...\n");
    Sleep(1500);
    printf("welcome\n");
    printf("开始答题\n");
    printf("本次测验共10小题,每小题10分,满分100分。\n");
    printf("您有15分钟的时间去答题\n");
    Sleep(500);
}
void retest(int score2)
{
    {
        printf("很遗憾您未通过本次考试\n");
        printf("两秒后自动跳转至补考页面\n");
        Sleep(2000);
        printf("补考开始\n");
        Sleep(500);
       for(i=0; i<10; i++)
        {
            printf("第%d题: ",i+1);
            a=(rand())%100+1;
            b=(rand())%100+1;
            printf("%d+%d=",a,b);
            scanf("%d",&k[i]);
        c[i]=a+b;
        if(k[i]==c[i])
        {
            x++;
        }
        score2=x*10;
    }
        printf("正在计算您的补考成绩请稍等...\n");
         Sleep(2000);
        printf("补考成绩为:");
        printf("%d\n",score2);
        printf("本次测验的正确率为:");
        printf("%%");
        printf("%d\n",score2);
    }
}



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值