Du bist nicht angemeldet.

Werbeanzeige

1

06.07.2006, 10:31

logische Operatoren bei switch und case?

Hallo
Bei den if -Bedingungen ist es mir der Groß und Kleinschreibung ja bestens erklärt, nur wie geht das bei switch und case?
Hab für mich alle logischen Möglichkeiten ausprobiert, es klappt aber nicht.
Danke schon mal im Voraus.

Anonymous

unregistriert

2

06.07.2006, 10:33

Bei Switch und Case gibt es keine logischen Operatoren. Bei Switch geht
es darum den Wert aus einer Variable zu verwerten. Z.B.:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
switch(auswerten)
{
   case 1: tudies();
               break;

   case 2: tudas();
               break;

   default: tunichts();
               break;
}


Hoffe das konnte dir weiterhelfen.

Thunder Storm

Treue Seele

Beiträge: 297

Wohnort: fragt einfach per pm nix da ;)

Beruf: Ausbildung (Technischer Assistent für Software Technologie)

  • Private Nachricht senden

3

06.07.2006, 10:42

wie meinst das? die schreibweise des switch befehls?
Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, daß Sie sie äußern dürfen.

Voltaire

Sheddex

unregistriert

4

06.07.2006, 16:02

Wahrscheinlich meint er, ob es außer "==" auch noch "!=" "<=" und ">=" gibt.

Anonymous

unregistriert

5

06.07.2006, 16:11

Genau Darkhunter, dachte ich auch :) Ich wusste jetzt aber nicht wo das
Problem ist :D leooo, falls dein Problem noch nicht gelöst ist, mach doch
mal Beispiele zu deinen Erklärungen...

6

09.07.2006, 19:14

Sorry ich hab's voll verpennt!
Also ein kleines Beispiel:

C-/C++-Quelltext

1
2
cout <<"(I)ntro, (S)pielen, (O)ptionen, (B)eenden:";
cin >> chAuswahl;

Ich meine wenn ich jetzt bei Meiner Auswahl für Intro: i anstatt I eingebe, kommt doch eine Fehlermeldung.
Also möchte ich wissen, wie es Möglich ist i und I gelten zu lassen.
Bei if-Bedingungen war das ja erklärt nur bei switch und case krieg ich das nicht hin!!!
HILFE BITTE

Sheddex

unregistriert

7

09.07.2006, 19:17

C-/C++-Quelltext

1
2
3
4
5
6
7
8
switch (Eingabe)
{
     case ('I'):
     case ('i'):
     {
          //...

     } break;
}

Thunder Storm

Treue Seele

Beiträge: 297

Wohnort: fragt einfach per pm nix da ;)

Beruf: Ausbildung (Technischer Assistent für Software Technologie)

  • Private Nachricht senden

8

10.07.2006, 09:28

darf man das überhaupt so? habs nie so gemacht da man mir damals immer eingetrichtert hat auf ein case muss ein break folgen. ausbildung halt.
Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, daß Sie sie äußern dürfen.

Voltaire

Anonymous

unregistriert

9

10.07.2006, 09:53

Es geht natürlich auch so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
switch(Auswahl)
{
   case 'I': blabla();
                break;

   case 'i': blabla();
               break;

   default: blubb();
               break;
}


Oder so

C-/C++-Quelltext

1
2
3
4
5
6
7
8
if(Auswahl == 'i')
{
   blabla();
}
else if (Auswahl == 'I')
{
   blabla();
}


Ich denke mal, es bleibt jedem selbt überlassen, wie er das handhabt,
aber ich persönlich bevorzuge hier case, worauf ein break folgt ;)

koschka

Community-Fossil

Beiträge: 2 863

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

10

10.07.2006, 10:21

@Thunder

ja man darf es so, case ist ja sozusagen hier der "Vergleicher", wenn also mehrere case's untereinanderstehen enspräche das einem logischem OR. Bei break wird aus dem case gesprungen.

Es muss aber nicht zwingend ein break nach dem case kommen, man könnte z.B. auch in ein case reinspringen, dort etwas tun (z.B. Berechnungen) und dann in einem neuen case weitermachen, dort sind z.B. die Ausgaben. Die switch dient dazu umzuschalten ob der Benutzer jetzt Berechnung+Ausgabe oder nur die Ausgabe nehmen will.

Werbeanzeige