小学生计算机辅助教学系统

本人大一,这周C语言有个作业就试着做了一下:

开发一个小学生计算机辅助教学系统。使用随机书产生函数产生1~10之间的随机数作为操作数,随机产生一道四则运算题,配合使用switch语句和print()函数调用,来为学生输入的正确或者错误的答案输出不同的评价。若10道题做完之后正确率低于75%,则重新做10道题,直到回答正确率高于75%时才退出程序。要求用模块化程序设计方法来编程。

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int Random_number();//随机数函数声明
char Random_op();//随机运算符号函数声明
int Random_operation(int a, char opchar, int b);//随即四则运算函数声明
void Random_Wrong();//随机错误提示函数声明
void Random_Right();//随机正确提示函数声明
int main()
{
    //a,b为随机的两个操作数,
    //x为用户输入数
    //i用作控制做的次数
    //get为回答正确的次数
    int a, b, x, i,get=0;
    char opchar;  //opchar为运算符号
    srand(time(NULL));//time(NULL)的返回值作为产生随机数的种子
    while (get<8)//判断正确率是否大于75%
    {
        get=0;
        for (i = 1; i < 11; i++)
        {
            //调用随机数生成函数给a,b赋值
            a = Random_number();
            b = Random_number();  
            opchar = Random_op(); //调用运算符号函数赋值给opchar
            printf("第%d题:%d%c%d=?\n", i, a, opchar, b);
            scanf("%d", &x);//将用户输入的值赋值给x
            //调用四则运算函数计算a*b的值并判断是否等于x
            if (x != Random_operation(a, opchar, b))
                Wrong_Tips();//调用错误提示函数输出错误提示
            else
            {
                get++;
                Right_Tips();//调用正确提示函数输出正确提示
            }
        }
        if (get < 8)//如果正确率低于75%则打印出提示
        {
            printf("Your Correct rate is lower than 75%%!\n");
            printf("Please trired again!\n");
        }
            
    }

    printf("总分:%d分\n", get * 10);
    printf("正确率:%d%%", get * 10);
    return 0;
}
/* 随机数生成函数 (1-10)*/
int Random_number()
{
    return rand() % 10 + 1;
}
/* 随机运算符号函数 */
char Random_op()
{
    int op;
    op = rand() % 4 + 1;
    switch (op)
    {
    case 1:
        return '+';
    case 2:
        return '-';
    case 3:
        return '*';

    case 4:
        return '/';
    }
    return 0;
}
/* 随机四则运算函数 */
int Random_operation(int a, char opchar, int b)
{
    switch (opchar)
    {
    case '+':
        return a + b;
    case '-':
        return a - b;
    case '*':
        return a * b;
    case '/':
        return a / b;
    }
    return 0;
}
/* 随机错误提示函数 */
void Wrong_Tips()
{
    int n;
    n=rand()%4+1;
    switch(n)
    {
        case 1:
            printf("No,Please try again.\n");
            break;
        case 2:
            printf("Wrong.Try once more\n");
            break;
        case 3:
            printf("Don't give up!\n");
            break;
        case 4:
            printf("Not correct keep trying.\n");
            break;
    }
}
/* 随机正确提示函数 */
void Right_Tips()
{
    int n;
    n=rand()%4+1;
    switch(n)
    {
        case 1:
            printf("Very Good!\n");
            break;
        case 2:
            printf("Excellent!\n");
            break;
        case 3:
            printf("Nice Work!\n");
            break;
        case 4:
            printf("Keep up the good work!\n");
            break;
    }
}

如有不对的地方欢迎指出

  • 3
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值