枚举讲解及应用场景,应用要求,,使用枚举和#define的比较

简介: 枚举讲解及应用场景,应用要求,,使用枚举和#define的比较
#define _CRT_SECURE_NO_WARNINGS 1 
//枚举-----有限个类型,一一列举(和结构体对照记忆,但不一样)
//例如:一年的月份,有12月,可以一一列举...
//枚举优点:
//1.增加代码可读性和可维护性
//2.和#define定义的标识符比较枚举有类型检查,更严谨(例如第19行)
//3.防止命名污染(枚举定义的符号,只是在枚举内使用,有范围,,define定义的符号是全局的,名称会冲突)
//4.便于调试(如int a=red;int a=5   define定义,在调试时依旧看不到,枚举调试时能看见5和red)
//5.使用方便,不用像define一样每次只能定义一个常量
#include<stdio.h>
//enum color
//{
//    red,
//    green=8,//此时green表示8
//    blue//此时blue表示9
//};
//int main()
//{
//    enum color c= blue;//等价于enum color c= 2;但不能写成enum color c= 2;
//    printf("%d\n", red);//0
//    printf("%d\n", green);//8,,,,将1赋值改为8
//    printf("%d\n", blue);//9
//    return 0;
//}
//增加代码可读性----应用场景
enum Option
{
    EXIT,//0
    ADD,//1
    SUB,//2
    MUL,//3
    DIV,//4
};
    void menu()
{
    printf("************************************");
    printf("****    1.ADD        2.SUB      ****");
    printf("****    3.MUL        4.DIV      ****");
    printf("****          0.EXIT            ****");
    printf("************************************");
}
    int main()
    {
        int input = 0;
        do
        {
            enmu();
            printf("请选择\n");
            scanf("%d", &input);
            switch (input)
            {
            case ADD:
                //替换原来的case 1:
                    //ADD();
                break;
            case SUB://是:不是;
                break;
            case MUL:
                break;
            case DIV:
                break;
            }
        } while (input);
        return 0;
    }
相关文章
|
6月前
|
安全 算法 C++
【C/C++ 泛型编程 应用篇】C++ 如何通过Type traits处理弱枚举和强枚举
【C/C++ 泛型编程 应用篇】C++ 如何通过Type traits处理弱枚举和强枚举
119 3
|
6月前
|
安全 算法 编译器
【C++基础语法 枚举】C/C++ 中enum枚举量的介绍:介绍enum枚举量在C/C中的作用和使用方法
【C++基础语法 枚举】C/C++ 中enum枚举量的介绍:介绍enum枚举量在C/C中的作用和使用方法
70 2
|
程序员 C语言 C++
35.【C/C++ 枚举(bool)类型和宏定义 (超详细)】(二)
35.【C/C++ 枚举(bool)类型和宏定义 (超详细)】
128 0
|
6月前
|
安全 API C#
C#.Net筑基-类型系统②常见类型--枚举Enum
枚举(enum)是C#中的一种值类型,用于创建一组命名的整数常量。它们基于整数类型(如int、byte等),默认为int。枚举成员可指定值,未指定则从0开始自动递增。默认值为0。枚举可以与整数类型互相转换,并可通过`[Flags]`特性表示位域,支持位操作,用于多选场景。`System.Enum`类提供了如`HasFlag`、`GetName`等方法进行枚举操作。
|
5月前
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
详细解读COM中集合和枚举器笔记(2)枚举器内部实现
20 0
|
5月前
|
设计模式 存储 Java
JavaSE——面向对象高级三(3/5)-枚举(认识枚举、拓展:抽象枚举、用枚举实现单例模式、枚举的应用场景)
JavaSE——面向对象高级三(3/5)-枚举(认识枚举、拓展:抽象枚举、用枚举实现单例模式、枚举的应用场景)
34 0
|
6月前
|
算法 C++ UED
【Qt 常用枚举】深入解析C++中的AlignmentFlag枚举
【Qt 常用枚举】深入解析C++中的AlignmentFlag枚举
111 0
|
编译器 C语言 C++
35.【C/C++ 枚举(bool)类型和宏定义 (超详细)】(一)
35.【C/C++ 枚举(bool)类型和宏定义 (超详细)】
104 0
|
存储 C#
C#基础⑥.1——枚举、结构体
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。也就是一些固定范围的值。
|
存储 C#
C#基础Ⅵ❶-枚举、结构体
C#基础Ⅵ❶-枚举、结构体