C语言寒假大作战02

问题 答案
这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-2
这个作业要求在哪里 C语言寒假大作战02
这个作业的目标 gitee 与 git基础命令学习与使用,能够结合新知识编写菜单程序
作业正文 https://www.cnblogs.com/shenxinglou/p/12283944.html
其他参考文献 C语言编程:以实例教你如何在控制台程序中模拟一个选项菜单功能

一、菜单程序函数调用图

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

  • 设计思路:我看了题目之后先选择了仔细观看资料才开始动手敲代码。了解到该题目要用到六个函数后,我对六个函数的作用以及内容进行了分配。由于该程序只有在特定的条件下才能终止循环,选择用while语句搭配switch语句进行设计。然后开始考虑switch的几个case常量表达式。
  • 问题:只调用while语句设置了当输入5时结束循环,导致只有第一次循环执行操作前才会出现操作列表。调用if语句设置了输入除5以外的数字都能出现操作列表,解决了问题。

三、 程序结果截图

四、程序代码

#include<stdio.h>
void menu() {
     printf("\n操作列表:\n");
     printf("1)一年级    2)二年级    3)三年级) \n 4)帮助     5)退出程序\n");
     printf("请输入操作>");
}
void help() {
     printf("帮助信息:\n您需要输入命令代号来进行操作,且\n");
     printf("一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n");
}
void error() {
     printf("Error!!!\n错误操作指令,请重新输入\n\n");
}
void FirstGrade() {
     printf("现在是一年级题目:\n只有聪明的人才看不见\n");
}
void SecondGrade() {
     printf("现在是二年级题目:\ngood good study\n");
}
void ThirdGrade() {
     printf("现在是三年级题目:\nday day up\n");
}
int main() {
    int Grade;
    printf("========口算生成器========\n欢迎使用口算生成器:\n\n");
    help();
    menu();
    while(Grade!=5) {
        scanf("%d",&Grade);
        printf("<执行操作:\n\n");
        switch(Grade) {
        case 1:
            FirstGrade();
            break;
        case 2:
            SecondGrade();
            break;
        case 3:
            ThirdGrade();
            break;
        case 4:
            help();
            break;
        case 5:
            printf("程序结束,欢迎下次使用\n任意键结束......\n");
            break;
        default:
            error();
            break;
        }
        if(Grade!=5) menu();
    }
}

五、对“设计”这个词的理解

  • 从粗略到详细,从模糊到清晰,设计是在寻找错误或缺点中,拨云见日,慢慢完善的一个过程。

六、Gitee上传截图与链接

七、主页链接

https://gitee.com/shenxinglou

posted @ 2020-02-08 16:49  沈星楼  阅读(130)  评论(0编辑  收藏  举报