Skip to content

Ist es möglich, Folgendes in einer Switch-Anweisung zu tun - C++?

Lösung:

Nein, das ist in C++ nicht möglich. Switch-Anweisungen unterstützen nur Ganzzahlen und Zeichen (sie werden durch ihre ASCII-Werte ersetzt) ​​für Übereinstimmungen. Wenn Sie eine komplexe boolesche Bedingung benötigen, sollten Sie einen if / else-Block verwenden

Nein, dies ist normalerweise der Zuständigkeitsbereich der if Stellungnahme:

if ((userInputtedInt >= someNum) && (userInputtedInt <= someOtherNum)) { ... }

Das kannst du natürlich in ein switch Stellungnahme:

switch (x) {
    case 1:
        // handle 1
        break;
    default:
        if ((x >= 2) && (x <= 20)) { ... }
}

Wie andere gesagt haben, kann man das nicht implementieren direkt wie Sie es versuchen, weil die C++-Syntax dies nicht zulässt. Aber Sie können dies tun:

switch( userInputtedInt )
{
  // case 0-3 inclusve
  case 0 :
  case 1 :
  case 2 :
  case 3 :
    // do something for cases 0, 1, 2 & 3
    break;

  case 4 :
  case 5 :
    // do something for cases 4 & 5
    break;
}
Click to rate this post!
[Total: 0 Average: 0]



Anderer Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.