zoukankan      html  css  js  c++  java
  • C语言笔记-枚举类型

     
     1 //实现选择一个动物,输出一个叫声.
     2 #include <stdio.h>
     3 enum animal {Dog,Cat,Monkey,No};
     4 
     5 void dog()
     6 {
     7     puts("wang wang!");
     8 }
     9 void cat()
    10 {
    11     puts("miao miao!");
    12 }
    13 void monkey()
    14 {
    15     puts("zhi zhi!");
    16 }
    17 
    18 enum animal choose(void)
    19 {
    20     //写法1:
    21     int answer;//enum常量的数据类型都是int类型,所以可以设置int.
    22     //enum animal answer;
    23     do{
    24         printf("选择一个动物: 0--狗, 1--猫, 2--猴, 3--不选择.");
    25         scanf("%d",&answer);
    26     }while(answer<0 || answer>3);//本句可以写成}while(answer<Dog || answer>No);
    27     return (enum animal)answer;//对应本函数的输出类型,在这儿进行强制转换,不然编译器会报错int类型的answer变量无法使用.
    28     //return answer;
    29     
    30     /*写法2:
    31     enum animal answer;//直接设置answer为enum answer类型,输出就不用进行类型转换了.
    32     do{
    33         printf("选择一个动物: 0--狗, 1--猫, 2--猴, 3--不选择.");
    34         scanf("%d",&answer);
    35     }while(answer<0 || answer>3);
    36     return answer;*/
    37 }
    38 
    39 int main()
    40 {
    41     enum animal voice;//类似int a;
    42     do
    43     {
    44         switch (voice=choose())//强制转换了choose的输出类型后这里才能使用
    45         {
    46             case Dog:
    47                 {
    48                     dog();
    49                     break;
    50                 }
    51             case Cat:
    52                 {
    53                     cat();
    54                     break;
    55                 }
    56             case Monkey:
    57                 {
    58                     monkey();
    59                     break;
    60                 }
    61         }
    62     }while(voice!=No);
    63     return 0;
    64 }

    结果:

    选择一个动物: 0--狗, 1--猫, 2--猴, 3--不选择.0//我输入了0
    wang wang!
    选择一个动物: 0--狗, 1--猫, 2--猴, 3--不选择.1//我输入了1
    miao miao!
    选择一个动物: 0--狗, 1--猫, 2--猴, 3--不选择.2//我输入了2
    zhi zhi!
    选择一个动物: 0--狗, 1--猫, 2--猴, 3--不选择.3//我输入了3
    
    --------------------------------
    Process exited after 9.846 seconds with return value 0
    请按任意键继续. . .
  • 相关阅读:
    实验九——基本数据类型存储及应用总结
    实验八——函数定义及调用总结
    实验7--函数定义及调用总结
    实验五——循环结构学习总结
    实验四—多分支结构及本章总结
    第二次作业及总结——数据类型和运算符
    160809132 梁佳佳
    实验12——指针的基础应用2
    实验11——指针的基础应用
    实验十——一维数组的定义及引用
  • 原文地址:https://www.cnblogs.com/alpharobert/p/5351505.html
Copyright © 2011-2022 走看看