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

    问题 答案
    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-2
    这个作业要求在哪里 C语言寒假大作战03
    这个作业的目标 gitee 与 git基础命令学习与使用,能够结合新知识编写菜单程序
    作业正文 https://www.cnblogs.com/shenxinglou/p/12299791.html
    其他参考文献 rand()函数

    一、菜单程序函数调用图

    二、设计思路和遇到的问题

    • 设计思路:这次对整个菜单的扩充是在于三个年级题目Operation函数。首先了解到三个函数分别要实现的三种功能,都有相似性,但又循序渐进。然后设置需要的变量,函数,语句以及输入输出的格式。
    • 遇到的问题:要达到生成三种随机口算题的目的,需要用到rand()函数,刚开始对rand()函数的用法不清楚,查询资料后,得到: 如要产生[m,n]范围内的随机数num,可用:int num=rand()%(n-m+1)+m.还有就是不知道如何设置生成的个数,后来想到结合for循环可以解决问题。

    三、 程序结果截图

    四、程序代码

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

    五、Gitee上传截图与链接

    七、主页链接

    https://gitee.com/shenxinglou

  • 相关阅读:
    MBProgressHUD上传照片进度提示
    -oN ,-oX,-oG
    nmap -sN -p 22,80 www.baidu.com
    22/tcp open|filtered ssh 80/tcp open|filtered http
    nmap -sS
    nmap -sT
    tcpdump --nnx tcp and host 192.168.10.9
    awk对列求和
    genlist -s 192.168.1.*
    /usr/local/sbin/fping -s www.baidu.com www.google.com
  • 原文地址:https://www.cnblogs.com/shenxinglou/p/12299791.html
Copyright © 2011-2022 走看看