• 自动生成小学四则运算题目的程序心得


    github源码链接:https://github.com/Devilzero/5 

    }



    这个程序,可以自动生成小学简易的四则运算,提供菜单让用户选择,然后判断加减乘除,判断答对答错的题目个数,用户同时也可以重新选择继续答题或重新选择或退出程序。

    该系统是让计算机充当一位给小学生布置作业的算术老师,为学生出题、阅卷 
    该系统应具备以下功能: 
    1. 为小学生出题(分别进行+、-、*、÷等不同运算) 2. 学生做题后,进行评阅; 
    学生每做一题后,评阅时给出“答题正确,很好”或“答题错误,重做”等字样; 
    3. 加、减、乘、除运算功能可以自由选择实现; 

    在我们设计程序时候,将一个大的问题分成几个模块,运用不同的函数将这些模块分别设计出来,然后运用函数调用,我们就可以将这些功能不同的模块联系在一起。

    在设计程序过程中,我原先定义的变量 flag 为字符型,当输入y时继续做下题,输入n时退出系统,我发现无论按哪个字母,在看结果时候发现有两条继续测试请按1,退出测试请按0 :语句输出,后来经过老师的讲解我明白了,在连续的2个scanf函数中,以字符形式输入第一个scanf函数时候,回车键会以字符形式存储在第二个scanf函数中。 

    深知自己技术水平还不高,编这样的程序遇到了很多困难,但我相信经过今后的不断学习,我的变成能力会有很大的提高

    源码:

    #include<stdio.h>
    #include<math.h>
    #include<windows.h>
    int right=0;
    int wrong=0;
    void add()
    {
    int a,b,c;
    a=rand()%100;
    b=rand()%100;
    printf("请回答: %d + %d = ",a,b);
    scanf("%d",c);
    if(a+b==c)
    {
    printf("回答正确! ");
    right++;
    }
    else
    {
    printf("回答错误! ");
    wrong++;
    }
    }
    void minu()
    {
    int a,b,c;
    a=rand()%100;
    b=rand()%100;
    printf("请回答: %d - %d = ",a,b);
    scanf("%d",c);
    if(a-b==c)
    {
    printf("回答正确! ");
    right++;
    }
    else
    {
    printf("回答错误! ");
    wrong++;
    }
    }
    void mul()
    {
    int a,b,c;
    a=rand()%100;
    b=rand()%100;
    printf("请回答: %d * %d = ",a,b);
    scanf("%d",c);
    if(a*b==c)
    {
    printf("回答正确! ");
    right++;
    }
    else
    {
    printf("回答错误! ");
    wrong++;
    }
    }
    void di()
    {
    int a,b,c;
    a=rand()%100;
    b=rand()%100;
    printf("请回答: %d / %d = ",a,b);
    scanf("%d",c);
    if(a/b==c)
    {
    printf("回答正确! ");
    right++;
    }
    else
    {
    printf("回答错误! ");
    wrong++;
    }
    }
    void main()
    {
    int choise;
    int con=0;
    printf(" 欢迎进入小学简易四则运算 ");
    while(1)
    {
    printf("请选择: ");
    printf(" 加法运算(请输入1) ");
    printf(" 减法运算(请输入2) ");
    printf(" 乘法运算(请输入3) ");
    printf(" 除法运算(请输入4) ");
    printf(" 退出运算(请输入5) ");
    if(con==0)
    scanf("%d",choise);
    switch(choise)
    {
    case 1:
    add();
    break;
    case 2:
    minu();
    break;
    case 3:
    mul();
    break;
    case 4:
    di();
    break;
    case 5:
    return;
    }
    printf(" 继续运算?(请输入1) ");
    printf(" 重新选择?(请输入2) ");
    printf(" 退出运算?(请输入3) ");
    scanf("%d",con);
    if(con==1)
    con=1;
    else if(con==2)
    con=0;
    else if(con==3)
    break;
    else
    printf("抱歉!,你输入的指令有误!请重新输入! ");
    }

    printf("您总共完成了 %d 道题 正确 %d 道 错误 %d 道 ",right+wrong,right,wrong);

  • 相关阅读:
    Java入门第二阶段总结
    POj3017 dp+单调队列优化
    CH5701 开车旅行(倍增dp+set)
    dp优化---四边形不等式与决策单调性
    CH5E07 划分大理石(背包dp+二进制拆分)
    POJ1185 炮兵阵地(状压dp)
    CH5501 环路运输(单调栈)
    poj3585 Accumulation Degree(换根dp)
    CH5105 Cookies (线性dp)
    反射
  • 原文地址:https://www.cnblogs.com/Devil-xc/p/4467614.html
Copyright © 2020-2023  润新知