Programm zur Fallunterscheidung

Aufgabenstellung:
Ein Händler gewährt seinen Kunden einen Treuerabatt. Hierfür hat er alle Kunden in Kategorien eingeteilt und gewährt Rabatte.
Das Problem ist auch mit einer Schachtelung mehrerer Auswahlstrukturen lösbar. Bei sehr vielen Alternativen wird die mehrseitige Auswahl jedoch schnell unübersichtlich. Deshalb wird man in solchen Fällen als Kontrollstruktur die Fallunterscheidung verwenden.

Quelltext:

//includes:
#include
#include

// Programm zur Fallunterscheidung
int main()
{
// Variablendeklarationen
int anzahl, kategorie;
float nettoeinzelpreis, nettopreis, gesamtpreis, rabatt, rabattstufe;

// Zum Programmstart notwendige Eingaben
cout< <"Programm zur Berechnung der Transportpauschale\n";
cout<<"______________________________________________\n\n";
cout<>anzahl;
cout< >nettoeinzelpreis;
cout< >kategorie;

// Pruefung ob mehr als keine Maeuse bestellt wurden.
if (anzahl < = 0) {
cout<<"Keine Maeuse zu bestellen macht keinen Sinn!\n";
} else {

// Kategoriepruefung
switch (kategorie) {
case 1: rabattstufe = 10;
break;
case 2: rabattstufe = 12;
break;
case 3: rabattstufe = 15;
break;
case 4: rabattstufe = 20;
break;
case 5: rabattstufe = 30;
break;
default: rabattstufe = 0;
}

// Reine Preisberechnung
nettopreis=(anzahl * nettoeinzelpreis);

// Berechnung des endgueltigen Gesamtpreises

// Rabatt abziehen
rabatt = nettopreis * (rabattstufe/100);
nettopreis = nettopreis - rabatt;
// Mwst. aufschlagen
gesamtpreis = nettopreis + (nettopreis * 0.16);

// Ausgabe
cout<<"\nSie haben "<<anzahl<<" Maeuse zu je "<<nettoeinzelpreis<<" EUR bestellt.";
cout<<"\nDas macht VOR Abzug des Rabatts "<<nettopreis+rabatt<<" EUR.";
cout<<"\nSie erhalten "<<rabattstufe<<"% bzw. "<<rabatt<<" EUR Rabatt.";
cout<<"\n\nDer Nettobetrag ist "<<nettopreis<<" EUR";
cout<<"\n\nGesamt inkl. 16% Mwst. ist zu zahlen: "<<gesamtpreis<<" EUR\n";
cout<<"==================================================="<<endl;
}
getch();
return 0;
}

Und das Programm als kompilierte *.EXE-Datei zum Download.

Kommentarbenachrichtigungen
Benachrichtige mich bei
0 Kommentare
Inline Feedbacks
View all comments