c++学习笔记----switch标签

switch标签

          switch标签可以是数字(int)、字符(char)也可以是枚举类型(enum)

             实质是标签项在比较的时候都转化成int型

             1)枚举的第一项将会被转换成0,以此类推。

             2)字符将会按照ASCII标准转化成int型

举例

1 枚举、数字标签

#include <iostream>

using namespace std;
enum{apple, pineapple, banana, orange, watermelon, mangosteen};

int main()
{
    cout << "请输入水果序号 (0-5):\n";
    cout << "按8号键退出\n";
    int code;   
    cin >> code;   
    while (code!=8)
    {
      switch(code)
      {
         case 0: cout << "这个苹果我要了\n"; break;
         case 1: cout << "凤梨真好吃\n"; break;
         case 2: cout << "这香蕉是不是坏了\n"; break;
         case orange: cout << "我的妈呀,这橘子酸掉牙了\n"; break;   
         case watermelon: cout << "我去,这西瓜还真甜!\n"; break;  
         case mangosteen: cout << "我去,山竹死贵死贵的\n"; break; 
         default: code = 9;
      }
      if(code == 9)
          cout << "对不起,断货了\n";
      cout << "请输入水果序号 (0-5):\n";
      cout << "按8号键退出\n";
      cin >> code;
    }
    cout << "再见!再也不见\n";
    return 0;
}

2 数字、字符标签 

#include <iostream>

using namespace std;

int main()
{
    cout << "请输入水果代码:\n";    
    cout << "按&号键退出\n";   
    int code;
    cin >> code;
    while (code != 38)
    {
      switch(code)
      {
         case 49 : cout << "这个苹果我要了\n"; break;
         case 'b': cout << "凤梨真好吃\n"; break;
         case 'c': cout << "这香蕉是不是坏了\n"; break;
         case 'd': cout << "我的妈呀,这橘子酸掉牙了\n"; break;    
         case 'e': cout << "我去,这西瓜还真甜!\n"; break;
         case 'f': cout << "我去,山竹死贵死贵的\n"; break;
         default: code = 9;
      }
      if(code == 9)
           cout << "对不起,断货了\n";
      cout << "请输入水果代码:\n";
      cout << "按&号键退出\n";
      cin >> code;
    }
    cout << "再见!再也不见\n";
    return 0;
}   

  

          当然标签也可以有枚举、字符型,前提是枚举项足够多。因为字符型转化成ASCII码以后,值小的字符一般在键盘上打不出来

 

          要注意的是使用cin输入时,若定义的输入变量是int型,而你输入的是一个字符,那么会有意想不到的结果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章