课程设计题1——小学生数学考试系统

问题描述:做一个小学生考试系统,功能如下。
(1) 该程序应包含加法,减法,乘法,除法以及四种运算混合运算
(2) 小学生用户答题,给出每道题的答案;
(3) 对小学生的答题进行评判;
(4) 计算小学生的答题正确率
(5) 该程序应使用多文件组织
文件名称:examination_system_for_primary_school_students
作者:何知令
发表时间:2017年1月5日
输入:详细请参考程序流程
输出:详细请参考程序流程

/*
问题描述:做一个小学生考试系统,功能如下。
(1)	该程序应包含加法,减法,乘法,除法以及四种运算混合运算
(2)	小学生用户答题,给出每道题的答案;
(3)	对小学生的答题进行评判;
(4)	计算小学生的答题正确率
(5)	该程序应使用多文件组织
文件名称:examination_system_for_primary_school_students
作者:何知令
发表时间:2017年1月5日
输入:详细请参考程序流程
输出:详细请参考程序流程
*/
#include 
#include 
#include "head.h"
int main()
{
    char op;
    while(1)
    {
        printf("*********************************************************\n");
        printf("请输入想做的题:\n");
        printf("加法请输入: +  \n");
        printf("减法请输入: —  \n");
        printf("乘法请输入: *  \n");
        printf("除法请输入: /  \n");
        printf("混合式训练请输入: r  \n");
        printf("退出请输入:0  \n");
        fflush(stdin);
        scanf("%c",&op);
        if(op=='+')
            sum();
        else if(op=='-')
            sub();
        else if(op=='*')
            mul();
        else if(op=='/')
            divi();
        else if(op=='r')
            random();
        else if(op=='0')
            break;
    }
    return 0;
}
#ifndef HEAD_H_INCLUDED
#define HEAD_H_INCLUDED

void sum();
void sub();
void mul();
void divi();
void random();
int n;//题数
int i;//用作循环计数
int count;//用作正确题数计数
int a,b;//计算数
int result;//计算结果
double accurary;//正确率

#endif // HEAD_H_INCLUDED
#include 
#include 
#include 
#include "head.h"
/*************************************************************
功能描述:功能中的加法函数
输入参数:n-题数
     result-答题结果
返 回 值:无……
其他说明:无
*************************************************************/

void sum()
{
    int sum;
    count=0;
    printf("*********************************************************\n");
    printf("欢迎来到加法界面\n");
    printf("请输入题数\n");
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        srand(time(0));
        a=rand()%99+1;
        b=rand()%99+1;
        sum=a+b;
        if(sum<=100)
        {
            printf("第%d题\n",i);
            printf("a=%d  \n",a);
            printf("b=%d  \n",b);
            printf("a+b=?\n");
            scanf("%d",&result);
            printf("正确答案:%d\n",sum);
            if(result==sum)
                count++;
        }
        else
            i--;//若不是符合sum<=100的和,重随机
    }
    accurary=(double)count/(double)n;
    printf("共%d题,做对%d道题,正确率为%.2f\n",n,count,accurary);
    if(accurary>0.8)
        printf("Good,keep it\n");
    else if(accurary>0.6)
        printf("come on,you can do better\n");
    else
        printf("you should study harder\n");
}


 

#include 
#include 
#include 
#include "head.h"
/*************************************************************
功能描述:功能中的除法函数
输入参数:n-题数
     result-答题结果
返 回 值:无……
其他说明:无
*************************************************************/
void sub()
{
    int sub,t;
    count=0;
    printf("*********************************************************\n");
    printf("欢迎来到减法界面\n");
    printf("请输入题数\n");
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        srand(time(0));
        a=rand()%99+1;
        b=rand()%99+1;
        if(a0.8)
        printf("Good,keep it\n");
    else if(accurary>0.6)
        printf("come on,you can do better\n");
    else
        printf("you should study harder\n");
}


 

#include 
#include 
#include 
#include "head.h"
/*************************************************************
功能描述:功能中的乘法函数
输入参数:n-题数
     result-答题结果
返 回 值:无……
其他说明:无
*************************************************************/
void mul()
{
    int mul;
    result=0;
    printf("*********************************************************\n");
    printf("欢迎来到乘法界面\n");
    printf("请输入题数\n");
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        srand(time(0));
        a=rand()%9+1;
        b=rand()%9+1;
        mul=a*b;
        if(mul<=100)
        {
            printf("第%d题\n",i);
            printf("a=%d  \n",a);
            printf("b=%d  \n",b);
            printf("a*b=?\n");
            scanf("%d",&result);
            printf("正确答案:%d\n",mul);
            if(result==mul)
                count++;
        }
        else
            i--;
    }
    accurary=(double)count/(double)n;
    printf("共%d题,做对%d道题,正确率为%.2f\n",n,count,accurary);
    if(accurary>0.8)
        printf("Good,keep it\n");
    else if(accurary>0.6)
        printf("come on,you can do better\n");
    else
        printf("you should study harder\n");
}


 

#include 
#include 
#include 
#include "head.h"
/*************************************************************
功能描述:功能中的除法函数
输入参数:n-题数
     result-答题结果
返 回 值:无……
其他说明:无
*************************************************************/
void divi()
{
    int divi;
    result=0;
    printf("*********************************************************\n");
    printf("欢迎来到除法界面\n");
    printf("请输入题数\n");
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        srand(time(0));
        a=rand()%99+1;
        b=rand()%9+1;
        divi=a/b;
        if(a%b==0)
        {
            printf("第%d题\n",i);
            printf("a=%d  \n",a);
            printf("b=%d  \n",b);
            printf("a/b=?\n");
            scanf("%d",&result);
            printf("正确答案:%d\n",divi);
            if(result==divi)
                count++;
        }
        else
            i--;
    }
    accurary=(double)count/(double)n;
    printf("共%d题,做对%d道题,正确率为%.2f\n",n,count,accurary);
    if(accurary>0.8)
        printf("Good,keep it\n");
    else if(accurary>0.6)
        printf("come on,you can do better\n");
    else
        printf("you should study harder\n");
}


 

#include 
#include 
#include 
#include "head.h"
/*************************************************************
功能描述:功能中的混合运算函数
输入参数:n-题数
     result-答题结果
返 回 值:无……
其他说明:无
*************************************************************/
void random()
{
    int k;
    int sum,sub,mul,divi;
    int t;
    count=0;
    printf("*********************************************************\n");
    printf("欢迎来到随机出题界面\n");
    printf("请输入题数\n");
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        srand(time(0));
        k=rand()%4;
        if(k==0)
        {
            srand(time(0));
            a=rand()%99+1;
            b=rand()%99+1;
            sum=a+b;
            if(sum<=100)
            {
                printf("第%d题\n",i);
                printf("a=%d  \n",a);
                printf("b=%d  #include \n",b);
                printf("a+b=?\n");
                scanf("%d",&result);
                printf("正确答案:%d\n",sum);
                if(result==sum)
                    count++;
            }
        }
        else if(k==1)
        {
            srand(time(0));
            a=rand()%99+1;
            b=rand()%99+1;
            if(a0.8)
        printf("Good,keep it\n");
    else if(accurary>0.6)
        printf("come on,you can do better\n");
    else
        printf("you should study harder\n");
}


程序运行结果展示:

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

知识点总结:函数调用

学习心得:累死哥了

你可能感兴趣的:(课程设计)