【问题标题】:How would I use a switch in this case? [duplicate]在这种情况下我将如何使用开关? [复制]
【发布时间】:2013-12-04 00:49:30
【问题描述】:

我被卡住了,例如,我不确定如何使用 switch 语句将“DESKTOP”切换为“desktop”。

enum ComputerType { DESKTOP, LAPTOP, TABLET, HANDHELD }; 

// Prints a computer type as a lower case string.
// Use switch statement to implement this function.
// params: (in)
   void PrintComputerType( ComputerType comp ) const
   {
      switch ( comp )
      {




      }
   }

【问题讨论】:

    标签: c++ switch-statement


    【解决方案1】:

    枚举值基本上都是整数,所以可以在switch语句中作为case使用。

    switch ( comp )
    {
      case DESKTOP:
        cout << "Desktop\n";
        break;
      case LAPTOP:
        cout << "Laptop\n";
        break;
      case TABLET:
        cout << "Tablet\n";
        break;
      case HANDHELD:
        cout << "Handheld\n";
        break;
      default:
        cout << "Invalid Selection\n";
        break;
    }
    

    【讨论】:

      【解决方案2】:

      switch语句是一种流控制形式,switch参数与case语句中执行的实际操作无关。下面是一个示例,如果 comp 是 DESKTOP 枚举值,它如何用于输出“桌面”。但是没有什么能阻止你改为调用cout &lt;&lt; "fish" 或做一些与字符串无关的事情。

      switch(comp)
      {
      case DESKTOP:
        cout << "desktop" << endl;
        break;
      case LAPTOP:
        cout << "laptop" << endl;
        break;
      }
      

      【讨论】:

        【解决方案3】:

        没什么特别的。

        void PrintComputerType( ComputerType comp ) const
        {
           switch ( comp )
           {
             case DESKTOP:  cout << "desktop";     break;
             case LAPTOP:   cout << "laptop";      break;
             case TABLET:   cout << "tablet";      break;
             case HANDHELD: cout << "handled";     break;
             default:       cout << "wrong input"; break;
           }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-11-07
          • 2021-12-27
          • 1970-01-01
          • 1970-01-01
          • 2013-07-17
          • 2016-04-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多