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

    1.作业头

    问题 答案
    这个作业属于哪个课程 班级
    这个作业要求在哪里 作业要求
    这个作业的目标 学习随机代码
    作业正文 作业
    其他参考文献 参考链接1参考链接2

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

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

    设计思路:
        首先需要想如何随机生成一个运算符符号,其次是如何在1、2、3年级中输出所需的运算符,再而怎么随机输出数字并且在规定的范围之内,还有就是如何控制输出题目的个数.
    遇到的问题:
        如何限制输出的运算符字符的范围?
    

    4.程序结果截图

    5.程序代码

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void menu()
    {
        printf("操作列表:
    ");
        printf("1)一年级    2)二年级    3)三年级
    ");
        printf("4)帮助      5)退出程序
    ");
        printf("请输入操作>
    ");
     } 
    
     void help()
     {
        printf("帮助信息
    ");
        printf("您需要输入命令代号来进行操作,且
    ");
        printf("一年级题目为不超过十位的加减法;
    ");
        printf("二年级题目为不超过百位的乘除法;
    ");
        printf("三年级题目为不超过百位的加减乘除混合题目。
    
    ");
     }
     void error()
     {
        printf("Error! ! !
    ");
        printf("错误操作指令,请重新输入
    
    ");	
      } 
     void operation_1()
      {
        char op[2]={'+','-'};
        int i,n;
            printf("<请输入生成个数> ");
        scanf("%d",&n);
        srand(time(NULL));
        for(i=1; i<=n; i++)
        {
                printf("%d %c %d = ___
    ",rand()%10,op[rand()%2],rand()%10);
        }
      }
      void operation_2()
      {
        char op[2]={'*','/'};
        int i,n;
        printf("<请输入生成个数> ");
        scanf("%d",&n);
        srand(time(NULL));
        for(i=1; i<=n; i++)
        {
    	    printf("%d %c %d = ___
    ",rand()%10,op[rand()%2],rand()%10);
        }
      }
      void operation_3()
      {
        char op[4]={'+','-','*','/'};
        int i,n;
        printf("<请输入生成个数> "); 
        scanf("%d",&n);
        srand(time(NULL));
        for(i=1; i<=n; i++)
        {
    	    printf("%d %c %d %c %d = ___
    ",rand()%10,op[rand()%4],rand()%10,op[rand()%4],rand()%10);
        }
      }int main()
       {
        int m;
        printf("==========  口算生成器  ==========
    ");
        printf("欢迎使用口算生成器 :
    
    ");
        help();
        menu();
         do{
            scanf("%d",&m);
            printf("< 执行操作 >
    
    ");
            switch (m) {        
                case 1: operation_1(); break;
                case 2: operation_2(); break;
                case 3: operation_3(); break;
                case 4: help(); break;
                case 5: printf("程序结束, 欢迎下次使用 任意键结束……
    "); break;
                default:error(); break;
            }
            if(m!=5)
    	    {
    	    menu();
    	    } 
        }while(m!=5);
          return 0;
       } 
    

    6.Gitee上传截图与链接

    gitee链接

    7.参考资料

    随机数rand

  • 相关阅读:
    PHP 构造方法 __construct()(转)
    PHP笔记
    php的print_r第二个参数是true有啥用啊
    如何给类或方法规范地注释
    详解spl_autoload_register()  函数(转)
    PHP中文网上的分页代码
    echo 0000
    [csu/coj 1619] 递归
    [csu/coj 1083]贪心
    [csu/coj 1078]多个序列的最长公共子序列
  • 原文地址:https://www.cnblogs.com/classtest123/p/12294445.html
Copyright © 2011-2022 走看看