Briefportoberechnung
-
Schreiben Sie Ihr Programm so, dass es neben dem Porto von nationalen Briefen auch das Porto von Europabriefen berechnen kann.
ich habe einen Quellcode entworfen wo jedoch beide fälle angegangen werden wenn ich ein d eingebe bei e wird nur der Europabrief berechnet. Kann mal jemand darüberschauen und mir bescheid geben was ich falsch gemacht hab. Desweiteren sollte ich einrückungen vornehmen, jedoch ist mir nicht klar wo ich das zu machen habe,vielleicht kann mir jemand von euch auf die Sprünge helfen
Lg Tobi
#include <iostream>
using namespace std;int main()
{
int gewicht; // gewicht in g
char wahl;cout<<"e bitte eingeben fuer den Europabrief: "<<"\n";
cout<<"d bitte eingeben fuer den Brief innerhalb Deutschlands: "<<"\n";
cin>>wahl;switch(wahl){
case 'd':
cout<<"Bitte geben Sie das Gewicht in Gramm an: ";
cin>>gewicht;if(gewicht>0&&gewicht<=20){
cout<<"Das Porto für den Standardbrief kostet 0,55 €. "<<"\n";
}else if(gewicht>20 && gewicht<=50){
cout<<"Das Porto fuer einen Kompaktbrief betraegt 1,00 €. "<<"\n";
}else if(gewicht>50 && gewicht<=500){
cout<<"Das Porto fuer einen Großbrief betraegt 1,44 €. "<<"\n";
}else if(gewicht>500 && gewicht<=1000){
cout<<"Das Porto fuer den Maxibrief betraegt 2,20 €. "<<"\n";
}else{
cout<<"Es handelt sich um keinen Brief! ";
break;
}case 'e':
cout<<"Bitte geben Sie das Gewicht in Gramm an: ";
cin>>gewicht;
if(gewicht>0&&gewicht<=20){
cout<<"Das Porto für den Europastandardbrief kostet 0,65 €. "<<"\n";
}else if(gewicht>20 && gewicht<=50){
cout<<"Das Porto fuer einen Europakompaktbrief betraegt 1,10 €. "<<"\n";
}else if(gewicht>50 && gewicht<=500){
cout<<"Das Porto fuer einen Europagroßbrief betraegt 1,54 €. "<<"\n";
}else if(gewicht>500 && gewicht<=1000){
cout<<"Das Porto fuer den Europamaxibrief betraegt 2,30 €. "<<"\n";
}else{
cout<<"Es handelt sich um keinen Brief! ";
break;
}
return 0;
}
}
-
Mit Einrücken hättest du leicht erlkennen können, dass deine breaks, und das return an der falschen Stelle sind. Ich habe dir deinen Code eingerückt, den Fehler solltest du jetzt selbst verbessern können.
#include <iostream> using namespace std; int main() { int gewicht; // gewicht in g char wahl; cout<<"e bitte eingeben fuer den Europabrief: "<<"\n"; cout<<"d bitte eingeben fuer den Brief innerhalb Deutschlands: "<<"\n"; cin>>wahl; switch(wahl) { case 'd': cout<<"Bitte geben Sie das Gewicht in Gramm an: "; cin>>gewicht; if(gewicht>0&&gewicht<=20) { cout<<"Das Porto für den Standardbrief kostet 0,55 €. "<<"\n"; } else if(gewicht>20 && gewicht<=50) { cout<<"Das Porto fuer einen Kompaktbrief betraegt 1,00 €. "<<"\n"; } else if(gewicht>50 && gewicht<=500) { cout<<"Das Porto fuer einen Großbrief betraegt 1,44 €. "<<"\n"; } else if(gewicht>500 && gewicht<=1000) { cout<<"Das Porto fuer den Maxibrief betraegt 2,20 €. "<<"\n"; } else { cout<<"Es handelt sich um keinen Brief! "; break; //hier nicht } //Hier gehört break; hin case 'e': cout<<"Bitte geben Sie das Gewicht in Gramm an: "; cin>>gewicht; if(gewicht>0&&gewicht<=20) { cout<<"Das Porto für den Europastandardbrief kostet 0,65 €. "<<"\n"; } else if(gewicht>20 && gewicht<=50) { cout<<"Das Porto fuer einen Europakompaktbrief betraegt 1,10 €. "<<"\n"; } else if(gewicht>50 && gewicht<=500) { cout<<"Das Porto fuer einen Europagroßbrief betraegt 1,54 €. "<<"\n"; } else if(gewicht>500 && gewicht<=1000) { cout<<"Das Porto fuer den Europamaxibrief betraegt 2,30 €. "<<"\n"; } else { cout<<"Es handelt sich um keinen Brief! "; break; //hier nicht } //Hier gehört break; hin return 0; //hier nicht } //Hier gehört return 0; hin }
-
tobifeli schrieb:
Schreiben Sie Ihr Programm so, dass es neben dem Porto von nationalen Briefen auch das Porto von Europabriefen berechnen kann.
ich habe einen Quellcode entworfen wo jedoch beide fälle angegangen werden wenn ich ein d eingebe bei e wird nur der Europabrief berechnet. Kann mal jemand darüberschauen und mir bescheid geben was ich falsch gemacht hab. Desweiteren sollte ich einrückungen vornehmen, jedoch ist mir nicht klar wo ich das zu machen habe,vielleicht kann mir jemand von euch auf die Sprünge helfen
Hallo Tobi,
die Darstellung als Code erreichst Du mit den Codetags (erster Button unten links unter dem Antwortfenster)
tobifeli schrieb:
#include <iostream> using namespace std; int main() { int gewicht; // gewicht in g char wahl; cout<<"e bitte eingeben fuer den Europabrief: "<<"\n"; cout<<"d bitte eingeben fuer den Brief innerhalb Deutschlands: "<<"\n"; cin>>wahl; switch(wahl){ case 'd': cout<<"Bitte geben Sie das Gewicht in Gramm an: "; cin>>gewicht; if(gewicht>0&&gewicht<=20){ cout<<"Das Porto für den Standardbrief kostet 0,55 €. "<<"\n"; }else if(gewicht>20 && gewicht<=50){ cout<<"Das Porto fuer einen Kompaktbrief betraegt 1,00 €. "<<"\n"; }else if(gewicht>50 && gewicht<=500){ cout<<"Das Porto fuer einen Großbrief betraegt 1,44 €. "<<"\n"; }else if(gewicht>500 && gewicht<=1000){ cout<<"Das Porto fuer den Maxibrief betraegt 2,20 €. "<<"\n"; }else{ cout<<"Es handelt sich um keinen Brief! "; break; } case 'e': cout<<"Bitte geben Sie das Gewicht in Gramm an: "; cin>>gewicht; if(gewicht>0&&gewicht<=20){ cout<<"Das Porto für den Europastandardbrief kostet 0,65 €. "<<"\n"; }else if(gewicht>20 && gewicht<=50){ cout<<"Das Porto fuer einen Europakompaktbrief betraegt 1,10 €. "<<"\n"; }else if(gewicht>50 && gewicht<=500){ cout<<"Das Porto fuer einen Europagroßbrief betraegt 1,54 €. "<<"\n"; }else if(gewicht>500 && gewicht<=1000){ cout<<"Das Porto fuer den Europamaxibrief betraegt 2,30 €. "<<"\n"; }else{ cout<<"Es handelt sich um keinen Brief! "; break; } return 0; } }.. drücke auf 'zitieren', dann siehst Du es.
Es fehlt ein break; hinter Zeile 29.
Gruß
Werner
-
Es gibt mehrere Systeme beim Einrücken. Da sollten irgend wo im Netz Infos sein.
Auch Stichwort: Quelltext formatierenIch bevorzuge das System nach jeder öffnenden geschweiften Klammer einrücken und vor einer schliessenden Klammer ein Raster zurück.
Ein Klammerpaar sieht mir in deinem Quelltext noch ein wenig seltsam aus? Oder soll das wirklich so.
Dann mal ran ans Werk

f.-th.
-
Manchmal denkt man gar nicht darüber nach. Es gibt doch noch ein paar Stellen wo ich einrücke.
Ein Beispiel:
case 'd': cout<<"Bitte geben Sie das Gewicht in Gramm an: "; cin>>gewicht;Noch eins:
if(gewicht>0&&gewicht<=20) cout<<"Das Porto für den Standardbrief kostet 0,55 €. "<<"\n"; elseMfG f.-th.