Datenmaulwurf
Cadet 4th Year
- Registriert
- Juni 2008
- Beiträge
- 71
Mein Programm läuft nun relativ gut, doch leider nicht bis zum Ende durch, könntet ihr mir sagen woran das liegt (außerdem habe ich ein kleines Problem bei dem nächsten Kunden):
#include <iostream>
using namespace std;
int main()
{
int anzahl,vorrat[21],verkauf[21],maxverkauf,maxverkaufnr,maxumsatznr,menge[21][21];
float preis[21],umsatz[21],maxumsatz,summe[21],gesamt=0,maxkunde;
char artikel[21][15],nocheinkunde,nochetwas, maxkundenr;
int bestellung,kunden,i=0,j=0;
//
// Auffuellen der Lagerbestaende
//
cout << "===============================================================================\n" ;
cout << "Einweisung in das Kassenprogramm der Schuelerfirma:\n";
cout << "1. Taetigen sie alle geforderten eingaben ohne Umlaute!\n";
cout << "2. Verwenden sie keine Lehrzeichen!\n";
cout << "3. Alle Preise mit . eingeben (z.B.: 2.50)!\n";
cout << "4. Bestaetigen sie alle Eingaben mit Enter!\n";
cout << "===============================================================================\n\n";
cout << "Wieviele Artikel werden heute angeboten: ";
cin >> anzahl;
for (j=1;j<=anzahl;j++)
{
cout << "\nBezeichnug des Artikels " << j << " : ";
cin >> artikel[j];
cout << "\nWieviel kostet der Artikel " << artikel[j] << " : ";
cin >> preis[j];
cout << "\nWie gross ist der Vorrat des Artikels " << artikel[j] << " : ";
cin >> vorrat[j];
cout << "\n===============================================================================\n";
}
//
// Das Geschaeft oeffnet und die Kunden kommen
//
gesamt=0;
for (j=1;j<=anzahl;j++)verkauf[j]=0;umsatz[j]=0;
nocheinkunde = 'j';
i = 1;
while(nocheinkunde =='j')
{
summe = 0;
nochetwas = 'j';
while ( nochetwas == 'j' )
{
cout << "\n\nBitte die Artikelnummer (1 - " << anzahl <<") eingeben: ";
cin >> j;
if (j>anzahl){
cout << "\nFalsche Artikelnummer!\n";
}
cout << "\nWieviel des Artikels " << artikel[j] << " wird gewuenscht : ";
cin >> bestellung;
if (bestellung <= vorrat[j]) {
menge[j] = bestellung;
vorrat[j] = vorrat[j] - bestellung;
verkauf[j] = verkauf[j] + bestellung;
umsatz[j] = umsatz[j] + preis[j] * bestellung;
summe = summe + bestellung * preis[j];
}
else {
cout << "\n" << "Soviel " << artikel[j] << " haben wir nicht mehr\n";
}
cout << "Möchten Sie noch etwas bestellen? (j/n): ";
cin >> nochetwas;
cout << "\nIhre Rechnung lautet: " << summe << " EUR\n";
cout <<"Noch ein Kunde? (j/n): " ";
cin >> nocheinkund;
kunden = i;
gesamt = gesamt + summe;
i++;
}
//
// Abrechnung gesamt
//
cout << "\nAbrechnung gesamt";
cout << "\n===============================================================================\n";
cout << "\nHeute sind " << kunden << " Kunden gekommen\n";
cout << "\nDer Gesamtumsatz für heute betraegt: " << gesamt << "EUR\n";
//
// Abrechnung nach Artikeln
//
cout << "\n\nAbrechnung nach den einzelnen Artikeln";
cout << "\n===============================================================================\n\n";
cout << "\nNummer Bezeichnung verkauft Umsatz\n";
cout << "-----------------------\n\n";
for (j=1;j<=anzahl;j++) {
cout << j <<" " << artikel[j] << " " << verkauf[j] << " " << umsatz[j] << endl;
}
//
// die Top-Seller
//
maxverkauf=0;maxumsatz=0;maxverkaufnr=0;maxumsatznr=0;
for (j=1; j<=anzahl; j++) {
if(verkauf[j] > maxverkauf){
maxverkauf=verkauf[j];
maxverkaufnr=j;
}
if(umsatz[j] > maxumsatz) {
maxumsatz=umsatz[j];
maxumsatznr=j;
}
}
cout << "\nDer Artikel " << artikel[maxverkaufnr] << " wurde " << maxverkauf << " mal verkauft\n";
cout << "\nDer Artikel " << artikel[maxumsatznr] << " brachte den groesten Umsatz von " << maxumsatz << endl;
//
//
// Der beste Kunde
//
maxkunde = 0;
for (i=1;i<=kunden;i++) {
if(summe > maxkunde){
maxkunde = summe;
maxkundenr = i;
}
}
cout << "\nDer Kunde " << maxkundenr << " hat den groessten Umsatz von " << maxkunde << "EUR gebracht.\n";
//
return 0;
}
}