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

Sergeant

Frischling

  • »Sergeant« ist der Autor dieses Themas

Beiträge: 46

Wohnort: Kiel

Beruf: Student

  • Private Nachricht senden

1

08.05.2008, 14:20

Frage zu Listing 3.5 (switch und case)

wenn man sich das listing so ansieht, fällt einem vllt auf, dass hier die großbuchstaben fehlen. die möglichkeit beides zuzulassen wurde allerdings nur ein paar seiten vorher durch die logischen operatoren gegeben.
nun frag ich mich (weil ich es versucht habe, es aber nicht funktionierte ^^), ob ich im case auch die logischen operatoren (in diesem fall ||) nutzen kann. wenn ja, wie muss das genau aussehen?

Anonymous

unregistriert

2

08.05.2008, 14:29

Ich weiß nicht genau was du machen möchtest, und habe das Buch gerade nicht parat, aber was in switchanweisungen möglich ist:

Quellcode

1
2
3
4
5
6
7
8
switch(Bedingung)
{
    case "a":
    case "A":
    {
        // tu das
    } break;
}

So ungefähr. (So würde das zumindest in C# aussehen, ich hoffe in C++ auch)

mfg Timma

Sergeant

Frischling

  • »Sergeant« ist der Autor dieses Themas

Beiträge: 46

Wohnort: Kiel

Beruf: Student

  • Private Nachricht senden

3

08.05.2008, 14:32

hab es ausprobiert. so funktioniert es zwar, aber sieht irgendwie unschön aus. ich hätte eher an sowas wie das hier gedacht:

C-/C++-Quelltext

1
case ('i' || 'I'): blablabla

verstehst du?

Anonymous

unregistriert

4

08.05.2008, 14:36

Ja ich weiß was du meinst, nur ob und wie das funktioniert kann ich dir gerade nicht sagen.

mfg Timma

5

08.05.2008, 15:13

Also,

C-/C++-Quelltext

1
case "a":
geht nicht, bzw. gibt bestimmt nicht das aus, was du haben willst :D

C-/C++-Quelltext

1
case 'a':
wäre besser.

Ruf doch einfach vor dem switch ein std::tolower (<cctype>) auf und schon hast du nur Kleinbuchstaben.

Ansonsten ist:

C-/C++-Quelltext

1
2
3
4
5
case x:
case y:
{
    // ...

} break;
schon der richtige Weg. (x u. y müssen integrale Werte sein!)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Sergeant

Frischling

  • »Sergeant« ist der Autor dieses Themas

Beiträge: 46

Wohnort: Kiel

Beruf: Student

  • Private Nachricht senden

6

08.05.2008, 15:44

ahja, okay. danke dir

Werbeanzeige