Na die executable. Nein nur bei dem Namen etwas eintragen.
Na die executable. Nein nur bei dem Namen etwas eintragen.
ok danke aber ich shee es jetzt nur wenn ich auf rechtsklick eigenschaften gehe sonst nicht wieso nciht??? :-(
[Bild: unbenannt2mb2.th.png]
Finde mal etwas SELBST heraus und probiere herum.
Das habe ich schon aber ich meinte am desktop wird es nciht angezeigt, aber ich denke das problem ist gelöst...
So nun habe ich versucht das if mit switch() zu ersetzen, aber egal was ich eingebe er rechnet immer nur mit 2 Zahlen.... und ich konnte hinten kein default eingeben...
EDIT @ chris: Ja, ich habe selbst herumprobiert... ... aber ich weiß nciht warum weil ich ja iene schliefe in der schleife habe...Code:cout << "Druecken Sie 'a' fuer Addition, 's' fuer Subtraktion, 'm' fuer Multiplikation " << endl; cout << "oder 'd' fuer Division!" <<endl; Sleep(3000); cin >> Frage_nach_der_Rechenart; switch (Frage_nach_der_Rechenart) { case 'a': case 'A': system("cls"); cout << "Wie viele Zahlen wollen Sie addieren?" << endl; cout << "Minimal 2 Zahlen. Maximal 10 Zahlen." << endl; cin >> Frage_nach_der_Zahl_der_Variablen; switch(Frage_nach_der_Zahl_der_Variablen); { case 2: system("cls"); cout << "Geben Sie die erste von den zwei zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die Zahl ein die mit der ersten Zahl addiert werden soll!"; cin >> Zahl_02; Ergebnis = Zahl_01 + Zahl_02; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 3: system("cls"); cout << "Geben Sie die erste von den drei zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_03; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 4: system("cls"); cout << "Geben Sie die erste von den vier zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_04; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 5: system("cls"); cout << "Geben Sie die erste von den fünf zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_05; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 6: system("cls"); cout << "Geben Sie die erste von den sechs zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_06; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 7: system("cls"); cout << "Geben Sie die erste von den sieben zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein!"; cin >> Zahl_06; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_07; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 8: system("cls"); cout << "Geben Sie die erste von den acht zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein!"; cin >> Zahl_06; cout << "Geben Sie die siebente Zahl ein!"; cin >> Zahl_07; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_08; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07 + Zahl_08; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 9: system("cls"); cout << "Geben Sie die erste von den neun zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein!"; cin >> Zahl_06; cout << "Geben Sie die siebente Zahl ein!"; cin >> Zahl_07; cout << "Geben Sie die achte Zahl ein!"; cin >> Zahl_08; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_09; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07 + Zahl_08 + Zahl_09; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 10: system("cls"); cout << "Geben Sie die erste von den zehn zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein!"; cin >> Zahl_06; cout << "Geben Sie die siebente Zahl ein!"; cin >> Zahl_07; cout << "Geben Sie die achte Zahl ein!"; cin >> Zahl_08; cout << "Geben Sie die neunte Zahl ein!"; cin >> Zahl_09; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_10; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07 + Zahl_08 + Zahl_09 + Zahl_10; system("cls"); cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; default: // hier sagt er mir es geht nciht weil ich in der schleife schon ein default habe, also eigentlich sagt er das unten aber wenn ich dieses rausgebe geht es unten wenn ich es drinnen lassen sagt er mir das eben.... cout << ".................." << endl; break; } break; case 's': case 'S': system("cls"); cout << "In dieser Version des Programmes koennen Sie nur zwei Zahlen subtrahieren." << endl; Sleep(2000); system("cls"); cout << "Geben Sie eine Zahl ein!"; cin >> Zahl_01; cout << "Geben Sie die Zahl ein die von der ersten Zahl subtrahiert werden soll!"; cin >> Zahl_02; Ergebnis = Zahl_01 - Zahl_02; system("cls"); cout << "Das Ergebnis der Subtraktion lautet: " << Ergebnis << endl; Sleep(2000); break; case 'm': case 'M': system("cls"); cout << "In dieser Version des Programmes koennen Sie nur zwei Zahlen multiplizieren." << endl; Sleep(2000); system("cls"); cout << "Geben Sie eine Zahl ein!"; cin >> Zahl_01; cout << "Geben Sie die Zahl ein die mit der ersten Zahl multipliziert werden soll!"; cin >> Zahl_02; Ergebnis = Zahl_01 * Zahl_02; system("cls"); cout << "Das Ergebnis der Multiplikation lautet: " << Ergebnis << endl; Sleep(2000); break; case 'd': case 'D': system("cls"); cout << "In dieser Version des Programmes koennen Sie nur zwei Zahlen dividieren." << endl; Sleep(2000); system("cls"); cout << "Geben Sie eine Zahl ein!"; cin >> Zahl_01; cout << "Geben Sie die Zahl ein durch die die erste Zahl dividiert werden soll!"; cin >> Zahl_02; Ergebnis = Zahl_01 / Zahl_02; system("cls"); cout << "Das Ergebnis der Division lautet: " << Ergebnis << endl; Sleep(2000); break; default: system ("cls"); cout << "Falsche Eingabe!" << endl; Sleep(3000); cout << "Diese Version des Programmes laesst es nicht zu, dass man die Eingabe" << endl; cout << "wiederhohlt." << endl; Sleep(3000); cout << "Sie muessen das Programm neu starten um eine Rechenoperation durchzufuehren." << endl; Sleep(5000); break; } system("cls"); cout << "....................." << endl;
also... wie dir sicher aufgefallen ist ist dein code ziemlich unübersichtlich...
drum schlage ich dir vor du amchst ihn etwas übersichtlicher, indem du funktionen einbaust... (also sowas wie int main() )
zb:
ich hoffe des verwirrt dich jetzt nichtCode:#include <iostream.h> using namespace std; char menu int action1() { cout << "here we go for action1 called ***" << endl; return 0; } int action2() { cout << "and here for actio2 ;)" << endl; return 0; } int main() { cout << "Please press 'a' or '1' to do *** or 'b' or '2' to do ***" << endl; cin >> menu; switch(menu) { case 'a': case '1': action1(); break; case 'b': case '2': action2(); break; default: cout << "invalid input..." << endl; } system("PAUSE"); return 0; }
wenn du dein programm umgeschrieben hast findest du vlt auch den fehler
außerdem ist es nciht sinnvoll den code so "auszuschreiben"
überlege mal wie du mithilfe von zb while() schleifen deinen code um ziemlcih viel kürzen kannst...
mfg wurzel^2
Was mir so auf die Schnelle aufgefallen ist: switch(Frage_nach_der_Zahl_der_Variablen);. Das Semikolon gehört da nicht hin. Vielleicht betrachtet der Compiler das Ganze deshalb als eine switch-Verzweigung und erlaubt dein zweites default nicht.
freundliche Grüße, Rolus
Bingo, danke hat geklappt
EDIT: Wenn ich den Befehl setw() eingebe kann der compiler das nicht compilieren... muss ich da vorher noch etwas eingeben so wie bei Sleep(): #include <windows.h> ?
Wenn ich mit setw jetzt ganz rechts schreiben will muss ich das so machen oder?
Code:{ cout << setw(80) << "Das Ergebnis ist: " << Zahl_01 << endl; }
setw() gehört zu den Input/Output-Manipulatoren und ist in der Datei iomanip definiert. Du müsstest diese also durch #include <iomanip> einbinden.
freundliche Grüße, Rolus
So, ich versuchte eine while schleife einzubauen, klappt auch aber leider ist sie unendlich egal was ich drücke.... sie schaut so aus.
Ich weiß das ist jetzt viel code aber es wäre nett wenn mir wer von euch helfen könnte.
Probleme:
1) Ich frage am schluß ob man wiederholen will und du schleife sagt ja auch wenn 'j' oder 'J' aber auch wenn ich jetzt 6 z.b. eingebe er wiederhohlt immer und immer wieder.
2) Ich habe doch dne switch() befehl richtig eingegeben oder? wenn ich die Zahlen in ' setze also so: case '5': dann kann er nciht kompilieren.... Wieso kommt er immer zum default zweig egal was ich da eingebe?
Ja, ich denke das sind meine Probleme alle gewesen.... Bitte helft mir!
Ich habe schon alles mögliche ausprobiert doch ich weiß leider nciht wie das gehen sollte bzw weiß ich nicht was ich falsch geamcht habe....
Code:#include <iostream> #include <windows.h> #include <iomanip> using namespace std; int main () { long double Zahl_01; long double Zahl_02; long double Zahl_03; long double Zahl_04; long double Zahl_05; long double Zahl_06; long double Zahl_07; long double Zahl_08; long double Zahl_09; long double Zahl_10; long double Ergebnis; char Einfuehrung; char Frage_nach_der_Rechenart; char Frage_nach_der_Zahl_der_Variablen; char Wiederholung; cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Es freut mich, dass Sie sich fuer mein Programm entschieden haben!" <<endl; Sleep(3000); system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Brauchen Sie eine kurze Einfuehrung, oder wollen Sie gleich loslegen?" << endl; Sleep(2000); cout << "Druecken Sie 'j' fuer Ja und 'n' fuer Nein." << endl; Sleep(2000); cout << "Bestehtigen Sie anschliessend mit Enter:"; cin >> Einfuehrung; switch (Einfuehrung) { case 'j': case 'J': system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Dies ist die zweite Version meines Rechenprogrammes, Sie koennen mit bis" << endl; cout << "zu 10 Zahlen rechnen." << endl; Sleep(3000); system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Wenn Sie eine Kommazahl eingeben wollen muessen Sie diese mit einem" << endl; cout << "Punkt stat einem Komma abtrennen." << endl; Sleep(4000); system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Nachdem Sie eine Zahl bzw. einen Buchstaben eingegeben haben," << endl; cout << "muessen Sie immer mit Enter bestaetigen!" << endl; Sleep(3000); cout << "Ansonsten geschieht nichts, denn nur mit dem Druecken der Entertaste wird das" << endl; Sleep(1000); cout << "Programm registrieren, dass sie etwas eingegeben haben und wird die Information" << endl; Sleep(1000); cout << "verarbeiten koennen." << endl; Sleep(10000); system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Nun werden Sie zum Programm weitergeleitet!" << endl; Sleep(2000); break; case 'n': case 'N': system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Da Sie die Einleitung ueberspringen wollen, werden Sie gleich zum Programm" << endl; cout << "weitergeleitet." << endl; Sleep(3000); break; default: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Falsche Eingabe!" << endl; Sleep(1000); cout << "Sie werden jetzt zum Programm weitergeleitet!" << endl; Sleep(2000); } do { system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Wollen Sie eine Addition, eine Subtraktion, eine Multiplikation oder eine"<< endl; Sleep(1000); cout << "Division durchfuehren?" << endl; Sleep(3000); cout << "Druecken Sie 'a' fuer Addition, 's' fuer Subtraktion, 'm' fuer Multiplikation " << endl; Sleep(1000); cout << "oder 'd' fuer Division." <<endl; Sleep(3000); cin >> Frage_nach_der_Rechenart; switch (Frage_nach_der_Rechenart) { case 'a': case 'A': system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Wie viele Zahlen wollen Sie addieren?" << endl; cout << "Minimal 2 Zahlen. Maximal 10 Zahlen." << endl; cin >> Frage_nach_der_Zahl_der_Variablen; switch(Frage_nach_der_Zahl_der_Variablen) { case 2: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den zwei zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die Zahl ein die mit der ersten Zahl addiert werden soll!"; cin >> Zahl_02; Ergebnis = Zahl_01 + Zahl_02; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 3: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den drei zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_03; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 4: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den vier zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_04; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 5: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den fünf zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_05; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 6: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den sechs zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_06; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 7: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den sieben zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein!"; cin >> Zahl_06; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_07; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 8: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den acht zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein!"; cin >> Zahl_06; cout << "Geben Sie die siebente Zahl ein!"; cin >> Zahl_07; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_08; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07 + Zahl_08; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 9: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den neun zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein!"; cin >> Zahl_06; cout << "Geben Sie die siebente Zahl ein!"; cin >> Zahl_07; cout << "Geben Sie die achte Zahl ein!"; cin >> Zahl_08; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_09; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07 + Zahl_08 + Zahl_09; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case 10: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den zehn zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein!"; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein!"; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein!"; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein!"; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein!"; cin >> Zahl_06; cout << "Geben Sie die siebente Zahl ein!"; cin >> Zahl_07; cout << "Geben Sie die achte Zahl ein!"; cin >> Zahl_08; cout << "Geben Sie die neunte Zahl ein!"; cin >> Zahl_09; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll!"; cin >> Zahl_10; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07 + Zahl_08 + Zahl_09 + Zahl_10; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; default: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Falsche Eingabe!" << endl; Sleep(4000); } break; case 's': case 'S': system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "In dieser Version des Programmes koennen Sie nur zwei Zahlen subtrahieren." << endl; Sleep(2000); system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie eine Zahl ein!"; cin >> Zahl_01; cout << "Geben Sie die Zahl ein die von der ersten Zahl subtrahiert werden soll!"; cin >> Zahl_02; Ergebnis = Zahl_01 - Zahl_02; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Subtraktion lautet: " << Ergebnis << endl; Sleep(2000); break; case 'm': case 'M': system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "In dieser Version des Programmes koennen Sie nur zwei Zahlen multiplizieren." << endl; Sleep(2000); system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie eine Zahl ein!"; cin >> Zahl_01; cout << "Geben Sie die Zahl ein die mit der ersten Zahl multipliziert werden soll!"; cin >> Zahl_02; Ergebnis = Zahl_01 * Zahl_02; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Multiplikation lautet: " << Ergebnis << endl; Sleep(2000); break; case 'd': case 'D': system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "In dieser Version des Programmes koennen Sie nur zwei Zahlen dividieren." << endl; Sleep(2000); system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie eine Zahl ein!"; cin >> Zahl_01; cout << "Geben Sie die Zahl ein durch die die erste Zahl dividiert werden soll!"; cin >> Zahl_02; Ergebnis = Zahl_01 / Zahl_02; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Division lautet: " << Ergebnis << endl; Sleep(2000); break; default: system ("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Falsche Eingabe!" << endl; Sleep(3000); break; } system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Wollen Sie noch eine Rechnung durchfuehren?" << endl; Sleep(1000); cout << "Druecken Sie 'j' fuer Ja und 'n' fuer Nein." << endl; cin >> Wiederholung; } while(Wiederholung == 'j' || 'J'); system ("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Ich, der Programmierer dieses Programmes, danke Ihnen, dass Sie sich fuer mein" << endl; Sleep(1000); cout << "Programm entschieden haben." <<endl; Sleep(3000); return 0; }
Gleicher Fehler wie neulich: while(Wiederholung == 'j' || 'J'). Durch logische Verknüpfungen (&&, ||) kannst du nur logische Ausdrücke verbinden. In diesem Fall wird 'J' also als logischer Ausdruck interpretiert, der immer wahr ist. Müsste also while(Wiederholung == 'j' || Wiederholung == 'J') heißen.Zitat von Grandpa Flog
Wieso kannst du das nicht mit Anführungszeichen kompilieren? Sicher, dass du nur einfache Anführungszeichen verwendet hast? Wie lautet denn die Fehlermeldung? Eigentlich dürfte case '5': keine Probleme machen.Zitat von Grandpa Flog
freundliche Grüße, Rolus
Ach ich hasse dass das man das zwei mal schreiben muss, ich vergesse es jedes mal und wenn cih nachprüffe dann übersehe ich dass weiles ja ganz sinnvoll ausschaut.
Danke nochmals.
EDIT: Fehlermeldung:
[Warning]multi-character character constant
in funtction int main()
[warning] overflow in implict constant conversion
Daneben steht line:
beim ersten warning steht: 265:39
beim zweiten steht ncihts
beim dritten wieder 265 aber nicht 36
Zeilen 264-266:
dann nohc 38 & 39 wobei ich glaube die 39 steht nciht für zeile 39 oder...Code:Sleep(2000); break; case '10':
EDIT2: ich habe jetzt herumprobiert und es geht wenn ich das case '10': rausnehme. wieso kann ich nur 9 machen gibts da eine einschränkung oder so?Code:case 'J': system("cls");
Ja, eine char Variable kann nur ein Zeichen aufnehmen. Die 10 besteht aber aus zwei Zeichen. Am besten du definierst Frage_nach_der_Zahl_der_Variablen als int und nicht als char. Dann schreibst du die Zahlen nicht mehr in Anführungszeichen und du kannst so auch höhere Werte als 9 abfragen.
freundliche Grüße, Rolus
Ah, danke schön, so nun habe ich alles bereinigt ausßer das hier eine fehlermeldung kommt immer noch:
[Warning]multi-character character constant immer noch auf zeile 265 wieso kommt das immer noch?
EDIT: was bedeutet diese fehlermeldung eigentlich?
Fehlermeldungen sind manchmal etwas schwer verständlich und ergeben häufig nur Sinn, wenn man auch den entsprechenden Code dazu sieht. Diese Fehlermeldung (bzw. Warnug) heißt etwa: "[Warnung] Eine Zeichen-Konstante mit mehreren Zeichen". Wahrscheinlich ist es etwas wie mit der '10', also mehrere Zeichen zwischen einfachen Anführungszeichen. Die einfachen Anführungszeichen stehen für einen char und dieser darf nun mal nur ein Zeichen lang sein.
Wenn es das nicht ist, zeig mal die entsprechende Zeile.
freundliche Grüße, Rolus
Ich habe das schon auf eine int geändert und ich habe das jetzt bei allen '10' ich habe die zeilen schon geschickt aber hier nochmals (ist jetzt nur von einer der fehlermeldungen weil ja überall das selbe steht...
So sieht das aus (ein paar case 'x' weggenommen)
Code:sitch(Frage_nach_der_Zahl_der_Variablen) { case '9': system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den neun zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein: "; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein: "; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein: "; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein: "; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein: "; cin >> Zahl_06; cout << "Geben Sie die siebente Zahl ein: "; cin >> Zahl_07; cout << "Geben Sie die achte Zahl ein: "; cin >> Zahl_08; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll: "; cin >> Zahl_09; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07 + Zahl_08 + Zahl_09; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; case '10': system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Geben Sie die erste von den neun zu addierenden Zahlen ein!"; cin >> Zahl_01; cout << "Geben Sie die zweite Zahl ein: "; cin >> Zahl_02; cout << "Geben Sie die dritte Zahl ein: "; cin >> Zahl_03; cout << "Geben Sie die vierte Zahl ein: "; cin >> Zahl_04; cout << "Geben Sie die fünfte Zahl ein: "; cin >> Zahl_05; cout << "Geben Sie die sechste Zahl ein: "; cin >> Zahl_06; cout << "Geben Sie die siebente Zahl ein: "; cin >> Zahl_07; cout << "Geben Sie die achte Zahl ein: "; cin >> Zahl_08; cout << "Geben Sie die neunte Zahl ein: "; cin >> Zahl_09; cout << "Geben Sie die Zahl ein die mit den anderen Zahl addiert werden soll: "; cin >> Zahl_10; Ergebnis = Zahl_01 + Zahl_02 + Zahl_03 + Zahl_04 + Zahl_05 + Zahl_06 + Zahl_07 + Zahl_08 + Zahl_09 + Zahl_10; system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Das Ergebnis der Addition lautet: " << Ergebnis << endl; Sleep(2000); break; default: system("cls"); cout << setw(80) << "Johannes Berger: Rechenprogramm Version 0.2" << endl << endl <<endl; cout << "Falsche Eingabe!" << endl; Sleep(4000); }
Wie schon geschrieben: Wenn du die Variable als int definierst, müssen die Anführungszeichen weg, also case 5: usw.
freundliche Grüße, Rolus
Ich hätte noch einen Vorschlag, wie man diese ganzen case-Fallunterscheidungen zu einem einzigen Abschnitt zusammenfassen und den Code so wesentlich kürzen könnte.
Zunächst müsst man dazu statt die Variablen Zahl_01, Zahl_02, usw. einzeln zu deklarieren, einfach ein Feld (Array) verwenden, welches dann bis zu zehn Zahlen aufnehmen kann. Danach nutzt man eine for-Schleife (welche so oft durchlaufen wird wie Variablen eingelesen werden sollen), um die gewünschte Anzahl der Werte einzulesen; ebenso kommt darauf eine weitere Zählschleife (for-Schleife), welche dann die Werte addiert. Zu guter letzt kann man dann das Ergebnis anzeigen lassen.
Damit wäre der Code nicht nur wesentlich kürzer, sondern (meiner Meinung nach) ist das auch eine elegantere Lösung. Zudem könnte man den Code dann relativ einfach für die Addition von z.B. 20, 30 oder 50 Zahlen anpassen, ohne dabei für jeden dieser Fälle einen neuen case-Abschnitt aufmachen zu müssen.
-Have you got anything without spam in it?-
Almalexia sieht und hört gar nichts mehr.
[Bild: Morrowknuff.gif][Bild: woebutton.jpg][Bild: 88x31gruen.jpg] [Bild: Morrowknuff.gif]
~ Morrowind-Hilfe ~ Morrowind-Plugins ~ Neverwinter Nights-Hilfe ~
~ More than cleverness we need kindness. ~
Why did Newton not invent group theory? - Because he wasn't Abel.
"After all, the mark of the truly great was not merely having power, but knowing how and when to use it."
naja da es sich um C++ handelt wäre ein stl container angebracht.
Ich würd dazu einen vector nehmen
Code:#include <iostream> #include <vector> #include <numeric> using namespace std; int main() { vector<double> dat; int anzahl; double tmp; cout<<"Wie viele Zahlen moechten Sie einlesen?"<<endl; cin>>anzahl; for(int i=0;i<anzahl;i++) { cin>>tmp; dat.push_back(tmp); cout<<"naechste Zahl"<<endl; } tmp=0; tmp=accumulate(dat.begin(),dat.end(),0); cout<<"Das Ergebnis lautet:"<<tmp; getchar(); getchar(); return 0; }
Ein Feld tuts auch . Da ist wenigstens der Zugriff verständlicher.
Du kannst auch auf die meisten STL-Container genau so einfach zugreifen, da der []-Operator überladen ist.
Der Nachteil von Arrays (ich gehe einmal davon aus, du meinst diese mit Feldern) ist, dass sie eine festgelegte Größe haben. Wenn du also höchstens 10.000 Elemente erlauben willst, dann musst du immer den Speicher für alle 10.000 Elemente anfordern – auch wenn du letztendlich nur fünf Plätze wirklich belegst. In diesem Beispiel fällt das nicht wirklich ins Gewicht, da ja das zu speichernde Objekt (also eine Zahl) kaum Platz bewegt.
Allerdings haben auch die STL-Container Nachteile, der deutlichste ist sicher die verminderte Geschwindigkeit gegenüber einem reinen Array.