Anfänger Frage...
-
Moin,
1. Dazu musst du dir if- und switch-Anweisung mal anschauen.
2. http://c-plusplus.net/forum/viewtopic-var-t-is-111042.html
Dies wird dir weiterhelfen

-
zu 3.)
also ich hab jetzt grade mein studium in informatik angefangen und ich muss sagen, obowhl mathe ein teil ist der unterrichtet wird hat es mit der schulmathematik nichts zutun
in der schule (hatte mathe LK) waren sachen wie analysis, analytische geometrie, stochastik oder sowas in der richtung wie matrizen angesagt
aber hier im studium macht man (jetzt zumindest noch) erstmal mengenlehre, für den physikalischen teil braucht man die grundlagen der vektorrechnung und etwas von der analysis on wegen ableiten usw.
aber an sich braucht man keine vorrausetzung in mahte, vom logischen denkvermögen mal abgesehen
-
Vielen Dank!
glg.
-
Hi!
Sorry das ich noch einmal nerve...
Ich habe jetzt den Code verändert und das mit 'N' und 'B' klappt.#include <iostream> using namespace std; int main() { float Brutto, Netto, Mwstbetrag, a; char i; cout << "Bitte geben sie N oder B ein!" << endl; cin >> i; if(i== 'B') { cout << "Bitte geben Sie den Bruttobetrag ein!" << endl; cin >> Brutto; Netto= Brutto*20 /120; Mwstbetrag= Brutto-Netto; cout << "Nettobetrag: " << Netto << endl; cout << "Mwstbetrag: " << Mwstbetrag << endl; return 0; } if(i== 'N') { cout << "Bitte geben Sie den Nettobetrag ein!" << endl; cin >> Netto; Brutto= Netto*20 /100; Mwstbetrag=Brutto-Netto; cout << "Bruttobetrag: " << Brutto << endl; cout << "Mwstbetrag: " << Mwstbetrag << endl; return 0; } else { cout << "Ihre Eingabe war falsch! Bitte geben sie B oder N ein!" << endl; return 0; } }Aber auch wenn ich den Code so verändere wie hier beschrieben http://c-plusplus.net/forum/viewtopic-var-t-is-111042.html
Dann schließt sich das Fenster trozdem.Und wie kann man eine Endlosschleife erzeugen?
Damit man nach einem Durchgang wieder die Anweisung "Bitte geben sie N oder B ein!" kommt.Ich habe schon einige Threads durchgelesen, aber ich verstehe das irgendwie nicht...
Danke im Voraus

-
"Wir fügen am Ende des Programms noch eine weitere Anweisung ein, die auf einen Tastendruck des Benutzers wartet."
Das sehe ich in deinem Quellcode gerade nicht.
-
Ja ich weiß... ich habe es wieder gelöscht da es nicht funktioniert hat...
(Es hat sich wieder geschlossen)
-
#include <iostream> using namespace std; int main() { float Brutto, Netto, Mwstbetrag, a; char i; cout << "Bitte geben sie N oder B ein!" << endl; cin >> i; /* Da 'i' ja entweder 'B' oder 'N' sein kann, solltest du else-if verwenden: Wenn du z.B. 'B' eingibst wird die if-Anweisung nach dem '{}' abgeborchen, und es wird danach weiter gemacht. Wenn du es ohne else-if machst (wie im Moment) wird auf beides ('B' und 'N') geprüft, was unnötig ist, da ja immer nur 1 in Frage kommt. */ if(i == 'B') { cout << "Bitte geben Sie den Bruttobetrag ein!" << endl; cin >> Brutto; Netto= Brutto*20 /120; Mwstbetrag= Brutto-Netto; cout << "Nettobetrag: " << Netto << endl; cout << "Mwstbetrag: " << Mwstbetrag << endl; } else if(i == 'N') { cout << "Bitte geben Sie den Nettobetrag ein!" << endl; cin >> Netto; Brutto= Netto*20 /100; Mwstbetrag=Brutto-Netto; cout << "Bruttobetrag: " << Brutto << endl; cout << "Mwstbetrag: " << Mwstbetrag << endl; } else { cout << "Ihre Eingabe war falsch! Bitte geben sie B oder N ein!" << endl; } /* Eine einfache Lösung um auf einen Tastendruck zu warten. Kann zu Problemen führen, wenn im Puffer noch ein Zeichen steckt. */ getchar(); /* Die return-Aweisung ist nur 1x in einer Funktion zu schreiben, wenn der Ausdruck hinter return immer der gleiche ist. */ return 0; }/* Wenn noch Zeichen im Puffer sind kannst du sie z.B. so verwerfen. */ cin.sync(); // Die noch vorhandenen Zeichen im Puffer verwerfen. cin.get(); // Wartet auf Tastendruck. /* In dem oben geposteten Link findest du auch noch andere Möglichkeiten. Es ist nicht gesagt, dass alle Möglichkeiten funktionieren :P */
-
Ich versteh das nicht... es schließt sich noch immer...und wiederholt nicht.
Könnte es vielleicht am Compiler liegen? Ich benutze Dev C++.
Aber danke für die anschauliche Erklärung!
-
poste mal den kompetten code, der net geht.
-
Ok es geht jetzt das, das Fenster sich nicht gleich schließt.
#include <iostream> using namespace std; int main() { float Brutto, Netto, Mwstbetrag, a; char i; cout << "Bitte geben sie N oder B ein!" << endl; cin >> i; if(i == 'B') { cout << "Bitte geben Sie den Bruttobetrag ein!" << endl; cin >> Brutto; Netto= Brutto*20 /120; Mwstbetrag= Brutto-Netto; cout << "Nettobetrag: " << Netto << endl; cout << "Mwstbetrag: " << Mwstbetrag << endl; } else if(i == 'N') { cout << "Bitte geben Sie den Nettobetrag ein!" << endl; cin >> Netto; Brutto= Netto*20 /100; Mwstbetrag=Brutto-Netto; cout << "Bruttobetrag: " << Brutto << endl; cout << "Mwstbetrag: " << Mwstbetrag << endl; } else { cout << "Ihre Eingabe war falsch! Bitte geben sie B oder N ein!" << endl; } getchar(); cin.sync(); cin.get(); return 0; }Und wie kann man es machen das es in einer Endlosschleife läuft?
-
Von einer Endlosschleife ist natürlich abzuraten, weil, wie der Name schon sagt, sie endlos ist... dann musst du das Programm ja abkacken lassen...
Für Wiederholungen benutzt man Schleife.
Es gibt 2 Arten von Schleifen:
- Kopfgesteuerte: Es wird vor dem Schleifendurchgang etwas geprüft (for,while).
- Fußgesteuerte: Es wird nach dem Schleifendurchgang etwas geprüft (do-while).Die fußgesteuerte Schleife läuft demnach immer min.1x durch.
#include <iostream> using namespace std; int main() { float Brutto, Netto, Mwstbetrag, a; char i; do { cout << "Bitte geben sie N, B oder E ein!" << endl; cin >> i; if(i == 'B') { cout << "Bitte geben Sie den Bruttobetrag ein!" << endl; cin >> Brutto; Netto= Brutto*20 /120; Mwstbetrag= Brutto-Netto; cout << "Nettobetrag: " << Netto << endl; cout << "Mwstbetrag: " << Mwstbetrag << endl; } else if(i == 'N') { cout << "Bitte geben Sie den Nettobetrag ein!" << endl; cin >> Netto; Brutto= Netto*20 /100; Mwstbetrag=Brutto-Netto; cout << "Bruttobetrag: " << Brutto << endl; cout << "Mwstbetrag: " << Mwstbetrag << endl; } else if(i == 'E') { cout << "Exit"; } else { cout << "Ihre Eingabe war falsch! Bitte geben sie B oder N ein!" << endl; } } while(i != 'E'); cin.sync(); cin.get(); return 0; }
-
Danke!

Jetzt verstehe ich auch wie das geht

Nochmals danke!