C语言寒假大作战02

作业头

问题 答案
这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2019-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10261
这个作业的目标 使用函数、switch语句来完成菜单程序
作业正文 https://www.cnblogs.com/abcd123456/p/12253839.html
其他参考文献 C语言编程:以实例教你如何在控制台程序中模拟一个选项菜单功能

主要内容

使用函数、switch语句来完成菜单程序

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

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

  • 先进行需求分析,在此基础上建立与之匹配的数据模型和数据存储方式
  • 完成算法分析
  • 程序源代码的编制、运行和调试
  • 目标测试
  • 程序的编译和封装
    遇到的问题:一开始写的程序总是选择一个数字就直接任意键退出,后来运用了while循环语句并对opt赋值1才能得以解决问题。

3.程序结果截图

4.程序代码

#include<stdio.h>
int help(int opt)
{
    printf("操作列表:\n    1)一年级    2)二年级    3)三年级\n     4)帮助     5)退出程序\n");
    printf("请输入操作> ");
    return 0;
}

int menu(int opt)
{
    if(opt==1)
       printf("< 执行操作 :) \n\n\n现在是一年级题目:保持一份热爱,奔赴下一场山海。 \n\n");
    else if(opt==2)
       printf("< 执行操作 :) \n\n\n现在是二年级题目:愿疫情早日结束,愿大家平安健康。\n\n");
    else if(opt==3)
       printf("< 执行操作 :) \n\n\n现在是三年级题目:枯木会逢春,你也会与美好相逢。\n\n");
    return 0;
}

int error(int opt)
{
    printf("< 执行操作 :) \n\nError!!!\n错误操作指令, 请重新输入\n\n\n");
    return 0;
}

int main() 
{   
    printf("========== 口算生成器 ==========\n");
    printf("欢迎使用口算生成器 :\n \n \n帮助信息\n您需要输入命令代号来进行操作, 且\n");
    printf("一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n\n");
    
    int opt=-1;
    while(opt!=0)
    { 
       help(opt);
       scanf("%d",&opt);
    
       switch(opt)
        {
           case 1:case 2:case 3:menu(opt);break;
           case 4:
              printf("< 执行操作 :) \n \n \n帮助信息\n您需要输入命令代号来进行操作, 且\n一年级题目为不超过十位的加减法;\n二年级题目为不超过百位的乘除法;\n三年级题目为不超过百位的加减乘除混合题目.\n\n\n");
              break;
           case 5:
              printf("< 执行操作 :) \n \n \n程序结束, 欢迎下次使用任意键结束…… \n");return 0;
              break;   
           default:error(opt);break;
        }
 } 
} 

5.你对“设计”这个词的理解

用现有素材、因子,在时间、空间、行为方式等方面进行的重新架构,以期获得更好的表现力.

6.Gittee上传截图与链接

截图:

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

posted @ 2020-02-03 18:28  -佩佩  阅读(196)  评论(0编辑  收藏  举报
/*鼠标跟随效果*/