Hallo zusammen,
ich bin hier total am verzweifeln.
Kann mir jemand sagen, warum das Programm immer abbricht?
Ich weiß, dass es noch nicht vollständig ist, aber normalerweise müsste es mir doch wenigstens die Werte ausgeben?
Bin C++ Einsteiger und momentan total ratlos.
#include <windows.h>
#include <iostream>
#include <cmath>
int main ()
{
int menge;
double preis;
double zEP;
double rabattbetrag = (zEP/100 *11);
double bruttowarenwert ;
double nettowarenwert;
double mehrwertsteuersatz = 1/100 * 16;
using namespace std;
cout << "Geben Sie die Menge ein :"; cin >> menge;
cout << "Geben Sie den Preis ein = "; cin >> preis;
cout << "Nettowarenwert =" << zEP; zEP = menge * preis;
cout <<"Sie erhalten einen Rabatt in Höhe von =" << rabattbetrag; if (rabattbetrag = zEP/100*11);
if (menge < 180) bruttowarenwert = zEP + zEP*mehrwertsteuersatz;
mfg
Viper
CPP101 Hausaufgabe
Hi Viper
Du hast nach int main () die Klammer { zwar geöffnet, aber nicht mehr geschlossen.
Außerdem brauchst du noch den Rückgabewert.
Also am Schluss noch folgendes anhängen:
system("PAUSE");
return EXIT_SUCCESS;
}
Vor dem int main () brauchst du noch folgende Zeile:
using namespace std;
Damit kannst du dann die cout und cin Befehle verwenden.
Dann sollte es eigentlich funktionieren.
Nimmst du zum Programmieren Visual C++ von Microsoft? Bin mittlerweile auf den Dev-C++ umgestiegen. Der schreibt das nämlich automatisch rein, wenn man ein neues Projekt öffnet
Viele Grüße
Ines
Du hast nach int main () die Klammer { zwar geöffnet, aber nicht mehr geschlossen.
Außerdem brauchst du noch den Rückgabewert.
Also am Schluss noch folgendes anhängen:
system("PAUSE");
return EXIT_SUCCESS;
}
Vor dem int main () brauchst du noch folgende Zeile:
using namespace std;
Damit kannst du dann die cout und cin Befehle verwenden.
Dann sollte es eigentlich funktionieren.
Nimmst du zum Programmieren Visual C++ von Microsoft? Bin mittlerweile auf den Dev-C++ umgestiegen. Der schreibt das nämlich automatisch rein, wenn man ein neues Projekt öffnet

Viele Grüße
Ines
Andere zu beherrschen, erfordert Kraft. Sich selbst zu beherrschen, erfordert Stärke.
Hallo Ines,
danke für Deine Hilfe ich werde das gleich probieren.
Ja ich nehme Dev C++, da die Programme in Visual C++ unter Vista 64 Bit auch nicht fehlerfrei laufen.
So wenigstens schließt er das Programm nun nicht mehr
Aber wie kann ich die Ausgabe des Nettowarenwertes so definieren, dass z.B. 200,50€ ausgegeben werden?
Ich habe CPP101 nun mehrmals durchsucht aber leider nichts gefunden
Mfg
Melanie
danke für Deine Hilfe ich werde das gleich probieren.
Ja ich nehme Dev C++, da die Programme in Visual C++ unter Vista 64 Bit auch nicht fehlerfrei laufen.
So wenigstens schließt er das Programm nun nicht mehr

Aber wie kann ich die Ausgabe des Nettowarenwertes so definieren, dass z.B. 200,50€ ausgegeben werden?
Ich habe CPP101 nun mehrmals durchsucht aber leider nichts gefunden
Mfg
Melanie
Hi Melanie
Du berechnest den Nettowarenwert an der falschen Stelle:
cout << "Nettowarenwert =" << zEP; zEP = menge * preis;
Damit gibst du erst den Wert aus und berechnest ihn aber erst hinterher. Da kommt also im Prinzip nur Datenmüll raus.
Wenn man in C++ die Variablen nur deklariert, aber nicht initialisiert, dann haben die einfach irgendeinen Wert. Du gibst bei dir also eigentlich nur den Datenmüll aus.
Probiers mal so:
zEP = menge * preis;
cout << "Nettowarenwert =" << zEP;
Beim Rabattbetrag hast du das gleiche Problem:
double rabattbetrag = (zEP/100 *11);
Du initialisierst den Rabattbetrag mit dem errechneten Wert. Du weißt aber den Wert von zEP an der Stelle noch gar nicht. Du kannst den Rabattbetrag also erst berechnen, wenn du zEP berechnet hast.
Du musst also die Variable so initialisieren:
double rabattbetrag = 0.;
Und im Code nach der Berechnung von zEP fügst du ein:
rabattbetrag = (zEP/100 * 11);
Die Werte, die rauskommen, musst du dann noch auf zwei Nachkommastellen runden:
zEP = (int(zEP * 100 + 0.5)) / 100.;
Du nimmst den Wert zuerst mit 100 mal und addierst 0,5, damit auch richtig auf- bzw. abgerundet wird. Dann wandelst du den Datentyp in integer um, damit alle anderen Nachkommastellen abgeschnitten werden. Am Schluss teilst du es dann durch 100 und wandelst es damit wieder zurück in eine Nachkommazahl mit zwei Stellen.
Viele Grüße
Ines
Du berechnest den Nettowarenwert an der falschen Stelle:
cout << "Nettowarenwert =" << zEP; zEP = menge * preis;
Damit gibst du erst den Wert aus und berechnest ihn aber erst hinterher. Da kommt also im Prinzip nur Datenmüll raus.
Wenn man in C++ die Variablen nur deklariert, aber nicht initialisiert, dann haben die einfach irgendeinen Wert. Du gibst bei dir also eigentlich nur den Datenmüll aus.
Probiers mal so:
zEP = menge * preis;
cout << "Nettowarenwert =" << zEP;
Beim Rabattbetrag hast du das gleiche Problem:
double rabattbetrag = (zEP/100 *11);
Du initialisierst den Rabattbetrag mit dem errechneten Wert. Du weißt aber den Wert von zEP an der Stelle noch gar nicht. Du kannst den Rabattbetrag also erst berechnen, wenn du zEP berechnet hast.
Du musst also die Variable so initialisieren:
double rabattbetrag = 0.;
Und im Code nach der Berechnung von zEP fügst du ein:
rabattbetrag = (zEP/100 * 11);
Die Werte, die rauskommen, musst du dann noch auf zwei Nachkommastellen runden:
zEP = (int(zEP * 100 + 0.5)) / 100.;
Du nimmst den Wert zuerst mit 100 mal und addierst 0,5, damit auch richtig auf- bzw. abgerundet wird. Dann wandelst du den Datentyp in integer um, damit alle anderen Nachkommastellen abgeschnitten werden. Am Schluss teilst du es dann durch 100 und wandelst es damit wieder zurück in eine Nachkommazahl mit zwei Stellen.
Viele Grüße
Ines
Andere zu beherrschen, erfordert Kraft. Sich selbst zu beherrschen, erfordert Stärke.
Ich habe auch mal eine Frage zu dieser Hausaufgabe. Muss leider zugeben, dass ich Kostenrechnung überhaupt nicht drauf habe, da ich es nie wissentlich anwenden musste - bis jetzt
Bruttowarenwert: ist das Menge * Preis oder kommt da auch noch die Mehrwertsteuer hinzu?
Rabattbetrag: ((Menge * Preis)/100) *11?
Nettowarenwert: Ist das der Wert minus Brutto und minus Rabatt?
Mehrwertsteuerbetrag: (Brutto * 16)/116?
Rechnungssumme: was ist das?
Hoffentlich kann mir einer das alles erklären oder eine Webseite mit Erklärungen nennen ...
Ein (peinliches) Danke

Bruttowarenwert: ist das Menge * Preis oder kommt da auch noch die Mehrwertsteuer hinzu?
Rabattbetrag: ((Menge * Preis)/100) *11?
Nettowarenwert: Ist das der Wert minus Brutto und minus Rabatt?
Mehrwertsteuerbetrag: (Brutto * 16)/116?
Rechnungssumme: was ist das?
Hoffentlich kann mir einer das alles erklären oder eine Webseite mit Erklärungen nennen ...
Ein (peinliches) Danke

B.Sc. Wirtschaftsinformatik
Hab damals auch nachfragen müssen. Hier die Antwort von Fr. Schröder (korrigiert die Aufgaben):
Menge * Preis = Bruttowarenwert
Bruttowarenwert - Erlösschmälerung (Rabatt) = Nettowarenwert
Nettowarenwert + MwSt = Rechnungssumme
Viele Grüße
Ines
Menge * Preis = Bruttowarenwert
Bruttowarenwert - Erlösschmälerung (Rabatt) = Nettowarenwert
Nettowarenwert + MwSt = Rechnungssumme
Viele Grüße
Ines
Andere zu beherrschen, erfordert Kraft. Sich selbst zu beherrschen, erfordert Stärke.