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

    这个作业属于哪个课程 班级链接
    这个作业要求在哪里 C语言寒假大作战02
    这个作业的目标 使用函数、Switch语句来完成菜单程序
    作业正文 如下所示
    参考文献 C语言编程:以实例教你如何在控制台程序中模拟一个选项菜单功能还有很多比如百度百科之类的

    设计思路和遇到的问题

    思路

    用三个自定义函数来表示:菜单,帮助和错误操作。文案直接复制就好。
    然后用while来循环,同时要用上switch表达式进行选择。
    然后看作业要求,在最后是有个停顿的。之前写的代码按了5就直接关闭了,没有提示的那种,然后就去搜了一下,发现用_getch();就可以了,但是这个需要添加一个头文件#include <conio.h>。
    

    问题

    问题啥的还真挺多,但是也都解决了不然也完成不了这个作业。

    1,在写作业过程中打开VS发现自己无从下笔,然后我就把它拆开一部分一部分的写。先把运行出来的菜单文案部分输入进去,然后再写下一步。
    2,刚开始用while()语句,然后发现写的东西不能循环,然后发现自己把语法记反了[while( 这个里面只要不是0就能循环)]
    3,后来以为准确无误了,然后试了几遍,真以为没错误的时候把0也试了一遍,然后显示的是“错误操作指令”,然后紧跟着就是“按任意键退出”。然后我就有点懵,这是啥情况,为啥会这样?然后我又返回去瞅了一眼,我发现我之前写的循环那部分因为输入0,循环被否定了,然后就结束循环了于是就退出程序了,但是0是错误输入并且错误完后我们还要他继续,那就又让它随便赋一个值就好了,问题完美解决。
    

    程序结果截图





    程序代码

    #include <stdio.h>
    #include <conio.h>
    
    void help();
    int menu();
    void error();
    void grade_1();
    void grade_2();
    void grade_3();
    
    int main()
    {
    	int grade = 1;
    
    	printf("========== 口算生成器 ==========
    ");
    	printf("欢迎使用口算生成器 :)
    ");
    	printf("
    
    ");
    
    	help();
    	while (grade)
    	{
    		grade = menu();
    
    		switch (grade)
    		{
    		case 1: grade_1(); break;
    		case 2: grade_2(); break;
    		case 3: grade_3(); break;
    		case 4: help(); break;
    		case 5: grade = 0; break;
    		default: error(); grade = 1; break;
    		}
    	}
    	printf("程序结束, 欢迎下次使用
    ");
    	printf("任意键结束……");
    
    	_getch();
    	return 0;
    }
    
    void help()
    {
    	printf("帮助信息:
    ");
    	printf("您需要输入命令代号来进行操作, 且
    ");
    	printf("一年级题目为不超过十位的加减法;
    ");
    	printf("二年级题目为不超过百位的乘除法;
    ");
    	printf("三年级题目为不超过百位的加减乘除混合题目.
    ");
    	printf("
    
    ");
    }
    
    int menu()
    {
    	int a = 0;
    	printf("操作列表:
    ");
    	printf("1)一年级    2)二年级    3)三年级
    ");
    	printf("4)帮助      5)退出程序
    ");
    	printf("请输入操作> ");
    	scanf("%d", &a);
    	printf("< 执行操作 :)
    ");
    	printf("
    
    ");
    	return a;
    }
    
    void error()
    {
    	printf("Error!!!报错了哦乖乖别乱按哦
    ");
    	printf("错误操作指令, 请重新输入
    ");
    	printf("
    
    ");
    }
    
    void grade_1()
    {
    	printf("现在是一年级题目:
    ");
    	printf("一年级的题目你都会写了呢真棒
    ");
    
    	printf("
    
    ");
    }
    
    void grade_2()
    {
    	printf("现在是二年级题目:
    ");
    	printf("宝贝二年级的题目都会写了呢真棒
    ");
    
    	printf("
    
    ");
    }
    
    void grade_3()
    {
    	printf("现在是三年级题目:
    ");
    	printf("宝贝三年级的题目要有耐心哦加油你是最棒的
    ");
    
    	printf("
    
    ");
    }
    
    

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

    说起设计,这好像是我从小的梦想。小时候偷偷看小说的时候,小说里面女主职业服装设计师,当时觉得老厉害了,然后有一段时间特别想长大以后学服装设计。长大后也没想到真的学的专业跟设计有关的,不是服装设计而是程序设计。
    我一直觉得设计就是把文字图形啊什么的东西做的漂亮美观,但是好像并不是如此,设计好像不是我想的这样的,设计其实是解决问题......并且还得有创意的那种才能叫设计叭,我太南了
    

    Gitee上传截图与链接

    一只雯子


  • 相关阅读:
    MiniGUI
    Android-在XML和Java代码中设置背景在不同状态的效果: <selector>/StateListDrawable
    URLEncoder.encode、URLDecoder.decode、escape、encodeURI、encodeURIComponent
    getDimension,getDimensionPixelOffset和getDimensionPixelSize的一点说明
    Android获取屏幕分辨率及DisplayMetrics简介
    细说Android事件传递机制(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
    Android
    Android坐标
    Android Sqlite IN, NOT IN syntax --- not int (?)
    TextView with SingleLine as true and Gravity as Center not passing the events to the ViewPager if it has a Click Event
  • 原文地址:https://www.cnblogs.com/wenwener/p/12255488.html
Copyright © 2011-2022 走看看