Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

04.01.2014, 17:13

switch-case-Block Problem

Hallo,

wie kann man zwei Wörter in einem Caseblock angeben? Ich hab sowas:

C-/C++-Quelltext

1
case (anschauen Jacke) :

ich will dass wenn man diese zwei Wörter eingibt ein Text kommt.
Leider gibt er mir eine Fehlermeldung aus.$

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

2

04.01.2014, 17:22

Garnicht.

Wenn du sagst es kommt eine Fehlermeldung, dann solltest du diese auch in deinen Post packen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tankard« (04.01.2014, 17:27)


patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

3

04.01.2014, 17:24

1. Strings gehören in Anführungszeichen.
2. Switch-Case funktioniert in C/C++ nicht mit Strings.
3. Falls es Ganzzahlen (long, int, short, char, +unsigned varianten) sind, funktioniert das so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int num = getNum();
switch(num)
{
    case 1:
    case 2:
    {
     std::cout << "1 oder 2\n";
     break;
    }
    case 3:
    {
     std::cout << "3\n";
     break;
    }
}

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

4

04.01.2014, 17:33

2. Switch-Case funktioniert in C/C++ nicht mit Strings.


Stimmt, geht aber anscheinend über Umwege.

http://dev.krzaq.cc/switch-on-strings-with-c11/

patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

5

04.01.2014, 17:37

Am Ende ist es auch wieder ein unsigned long long, das hier als Konstante zur Compilezeit ausgerechnet wird.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

04.01.2014, 18:19

2. Switch-Case funktioniert in C/C++ nicht mit Strings.


Stimmt, geht aber anscheinend über Umwege.

http://dev.krzaq.cc/switch-on-strings-with-c11/

Davon würde ich abraten. Erstens ist es nicht 100% korrekt (Hashkollisionen) und zweitens benötigt es Sprachfeatures die zumindest ein sehr weit verbreiteter Compiler noch nicht unterstützt... ;)

Werbeanzeige