zoukankan      html  css  js  c++  java
  • C语言寒假大作战04

    作业头

    问题 答案
    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-2
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10279
    这个作业的目标 使用上次作业的菜单框架,并在其基础上增加各年级题目的答案函数
    作业正文 https://www.cnblogs.com/abcd123456/p/12260027.html
    其他参考文献 C语言程序设计,百度

    主要内容

    使用上次作业的菜单框架,在其基础上增加各年级题目的答案函数

    1.菜单程序函数调用图如下:

    2.设计思路和遇到的问题

    • 设计思路同作业2,本次作业需要加答案函数
      遇到的问题:在三年级的三个随机数两个运算符不知如何判断0的情况。

    3.程序结果截图

    4.程序代码

    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    int help(int opt)
    {
        printf("
    操作列表:
        1)一年级    2)二年级    3)三年级
         4)帮助     5)退出程序
    ");
        printf("请输入操作> ");
        return 0;
    }
    
    void operation1(int opt)
    {
       int i;
       printf("< 执行操作 :)
    
    现在是一年级题目:
    请输入生成数> 10
    < 执行操作 :)
    
    ");
       for(i=0;i<10;i++)
       {
           int divisor1=rand()%10;
           int divisor2=rand()%10;
           int kind;
           int result1;
           int result2;
           kind=rand()%2+1;
           
           switch(kind)
           {
             case 1:result1=divisor1+divisor2;
                printf("%d + %d=%d
    ",divisor1,divisor2,result1);break;
             case 2:result2=divisor1-divisor2;   
                printf("%d - %d=%d
    ",divisor1,divisor2,result2);break;
           }
        }
    }
    
    void operation2(int opt)
    {
        int i,op;
        printf("< 执行操作 :)
    
    现在是二年级题目:
    请输入生成数> 10
    < 执行操作 :)
    
    ");
        for(i=0;i<10;i++)
        {
           int divisor1=rand()%101;
           int divisor2=rand()%101;
           int kind;
           int result1;
           double result2;
           kind=rand()%2+1;
           
           if(divisor2==0)printf("%2d * 0=0
    ",divisor1);
           else 
           switch(kind)
           {
             case 1:result1=divisor1*divisor2;
                printf("%2d * %2d=%d
    ",divisor1,divisor2,result1);break;
             case 2:result2=(float)divisor1/divisor2;   //强制转化浮点型 
                printf("%2d / %2d=%f
    ",divisor1,divisor2,result2);break;
           }
        }
    }
    
    void operation3(int opt)
    {
        int i,op1,op2;
        printf("< 执行操作 :)
    
    现在是三年级题目:
    请输入生成数> 10
    < 执行操作 :)
    
    ");
        for(i=0;i<10;i++)
        {
           int divisor1=rand()%101;
           int divisor2=rand()%101;
           int divisor3=rand()%101;
           int kind,result1;
           double result2,result3,result4;
           kind=rand()%4+1;
           
           switch(kind)
           {
              case 1:result1=divisor1+divisor2*divisor3;
                printf("%d + %d * %d=%d
    ",divisor1,divisor2,divisor3,result1);break;
              case 2:result2=divisor1*divisor2/(float)divisor3;    //强制转化浮点型  
                printf("%d * %d / %d=%lf
    ",divisor1,divisor2,divisor3,result2);break;
              case 3:result3=(float)divisor1/divisor2-divisor3;       //强制转化浮点型 
                printf("%d / %d - %d=%lf
    ",divisor1,divisor2,divisor3,result3);break;
              case 4:result4=(float)divisor1/divisor2*divisor3;      //强制转化浮点型 
                printf("%d / %d * %d=%lf
    ",divisor1,divisor2,divisor3,result4);break;
           }
        }
    }
    int main() 
    {   
        printf("========== 口算生成器 ==========
    ");
        printf("欢迎使用口算生成器 :
     
     
    帮助信息
    您需要输入命令代号来进行操作, 且
    ");
        printf("一年级题目为不超过十位的加减法;
    二年级题目为不超过百位的乘除法;
    三年级题目为不超过百位的加减乘除混合题目.
    
    
    ");
        
        int opt=-1;
        
        while(opt!=0)
        {
           help(opt);
           scanf("%d",&opt);
           
        switch(opt)
        {
            case 1:operation1(opt);break;
            case 2:operation2(opt);break;
            case 3:operation3(opt);break;
        }
        }
     return 0;
    }
    

    5.Gittee上传截图与链接

    截图:

    链接:
    https://gitee.com/ning_pei

  • 相关阅读:
    js 动态创建HTML元素
    ASP.NET的几种主要文件
    【荐】Asp.net对文件夹和文件的操作类
    201920201学期 20192415 《网络空间安全专业导论》第二周学习总结 第五章
    201920201学期 20192415《网络空间安全专业导论》第一周学习总结 第二章
    201920201学期 20192415 《网络空间安全专业导论》第二周学习总结 第四章
    201920201学期 20192415 《网络空间安全专业导论》第一周学习总结 第三章
    C# 自动生成类
    div左右布局
    EFCodeFirst安装失败(包括EntityFrameWork安装)解决方案
  • 原文地址:https://www.cnblogs.com/abcd123456/p/12260027.html
Copyright © 2011-2022 走看看