Jetzt kommt switch und Case
-
Also, if habe ich ja nun raus.. und durch switch soll das irgendwie einfacher werden... Das sehe ich nicht so,,, aber vielleicht könnt ihr mich ja vom Gegenteil überzeugen. Nach der Eingabe von 1 soll das Programm dann Sehr gut ausgeben, bis zur 6.
Ich habe schon mal angefangen... Mehr hab ich zu dem Thema auch in den Tutorials nicht gefunden... Grottenschlecht erklärt..Thanks
int main() { int note; cout << "Bitte geben Sie eine Note ein: "; cin >> note; if (note == 1) { cout << "Sehr gut"; } switch (note) { case note ==2: cout << "Gut"; break; case note ==3: cout << "Befriedigend"; break; case note == 4: cout << "Genügend"; break; case note == 5: cout << "Mangelhaft"; break; case note == 6: cout << "Ungenügend"; break; return 0; }
-
Schau dir nochmal ganz genau an, wie switch funktioniert.
mfg
v R
-
virtuell Realisticer schrieb:
Schau dir nochmal ganz genau an, wie switch funktioniert.
mfg
v RGenau das hab ich ja eben nicht gefunden!!!!
Sondern nur irgendwelche Beispiele aus denen ich nicht klüger wurde...
-
#include <iostream> using namespace std; int main() { int note; cout << "Bitte geben Sie eine Note ein: "; cin >> note; switch (note) { case 1: cout << "Sehr gut" << endl; break; case 2: cout << "Gut" << endl; break; case 3: cout << "Befriedigend" << endl; break; case 4: cout << "Genügend" << endl; break; case 5: cout << "Mangelhaft" << endl; break; case 6: cout << "Ungenügend" << endl; break; } return 0; }MfG
-
Hi du, du hast switch ganz falch angewandt. Du hast es eigentlich trotzdem nach dem if-else-prinzip gemacht.
Schau dir dazu das hier an: http://tutorial.schornboeck.net/switch.htm
ansonsten wäre dein Anfang so richtig:
int main() { int note; cout << "Bitte geben Sie eine Note ein: "; cin >> note; switch (note) { case 1: cout << "Sehr gut"; break; case 2: cout << "Gut"; break; case 3: cout << "Befriedigend"; break; usw.Und das erspart ja wohl schon ne Menge schreiberei, meinst du nicht?

-
EDIT: Genau wie bei Honigtraube, nur habs ich halt 1 min zuspät gepostet

Warum machst du es nicht gleich so:int main() { int note; cout << "Bitte geben Sie eine Note ein: "; cin >> note; switch (note){ case 1: cout<<"Sehr Gut"; break; case 2: cout<<"Gut"; break; case 3: cout<<"Befriedigend"; break; case 4: cout<<"Genügend"; break; case 5: cout<<"Mangelhaft"; break; case 6: cout<<"Ungenügend"; break; default: cout<<"keine gueltige note"; } return 0; }Beim Switch gehts für mich ja darum, dass du nicht immer note==irgendwas schreiben musst.
Deshalb reicht case irgendwas: ...
-
Merke:
Bei Zahlen schreibt man einfach: (zB. integer)
case 2:Bei Zeichen schreibt man einfach: (zb. char)
case 'C':
-
default ist übrigens das was ausgeführt wird, wenn keine case anweisung zutrifft.
-
Visual Newbie schrieb:
Also, if habe ich ja nun raus.. und durch switch soll das irgendwie einfacher werden... Das sehe ich nicht so,,,
das sieht hoffentlich keiner so. es ist nämlich nicht einfacher.
aber vielleicht könnt ihr mich ja vom Gegenteil überzeugen.
dazu müßte ich aber lügen.
int main() { int note; char* text[6]={"Sehr gut","Gut",...}; cout << "Bitte geben Sie eine Note ein: "; cin >> note; if(1<=note && note<=6) cout << text[note-1]; return 0; }switch hat nen ganz anderen sinn. switch baut im maschinencode sprungtabellen. switch ist perfekt für fortlaufende enums mit vielen werten. aber nur wegen der laufzeitgeschwindigkeitsperformanceüberlegungen.