Hilfe bei einer Programmieraufgabe



  • Hallo, ich bitte um Hilfe!
    Ich schreibe morgen eine Arbeit in der Schule und habe eine Probeaufgabe von meinem Lehrer bekommen und irgendwie komm ich nicht weiter...
    Die Aufgabe lautet:
    In einem kleinen Bistro mit einigen wenigen Tischen werden Spiesen und Getränke angeboten uns serviert.
    Wenn neue Gäste an einem Tisch platz nehmen, wird die Bestellung entgegengenommen und in einem Kassensystem verbucht.
    Es gibt 6 angebotene Produkte:
    -Pott Kaffe für 3,00 Euro
    -Erfrischungsgetränk für 2,50 Euro
    -Orangensaft für 3,50 Euro
    -Kuchenstück für 4,00 Euro
    -Belegtes Brötchen für 3,50 Euro
    -Croisant mit Butter für 3,00 Euro
    Schreiben Sie ein Programm, dass Die Bestellung für einem einzelnen Tisch entgegennimmt. Dazu sollen über ein Auswahlmenü neue Produkte hinzugefügt werden können bzw die Bestellung korrigiert werden können. Denken Sie über einfache Bedienung nach! Nach Eingabe einer Änderung soll die Rechnung neu ausgegeben werden, allerdings nur tatsächlich bestellte Produkte.
    Achten Sie auf geschickte Verwendung von if/else, for, while und do..while, switch, cin, getch etc.

    Unten habe ich meinen quelltext soweit ich gekommen bin... nach dem letzten cout wird in der konsole nichts mehr ausgegeben.
    Ich würde mich über Hilfe freuen.

    #include <iostream>
    #include <conio.h>

    using namespace std;

    void main()
    {
    int menge;
    double kaffe = 3.00;
    double erfrischung = 2.50;
    double orange = 3.50;
    double kuchen = 4.00;
    double broetchen = 3.50;
    double croisant = 3.00;
    int auswahl[50];

    cout << "Was möchte der Kunde bestellen?" << endl;
    cout << "[1] Pott Kaffe für 3,00 Euro" << endl;
    cout << "[2] Erfrischungsgetränk für 2,50 Euro" << endl;
    cout << "[3] Orangensaft für 3,50 Euro" << endl;
    cout << "[4] Kuchenstück für 4,00 Euro" << endl;
    cout << "[5] Belegtes Broetchen für 3,50 Euro" << endl;
    cout << "[6] Croisant mit Butter für 3,00 Euro" << endl;
    cout << "Wieviel möchte der Kunde bestellen?" << endl;
    cin >> menge;
    cout << "Welche der oben gennanten Artikel möchte der Kunde bestellen?"<< endl;
    cout << "Waehle aus mit der Ziffer vor dem Artikel und bestätigen Sie bitte!" << endl;

    for (int i = 0; menge < i; i++)
    {
    cin >> auswahl[i];
    }

    if (auswahl[50] == 1)
    {
    printf("%s-20,%i10,%s-10 \n","Pott Kaffee",kaffe,"Euro");
    }

    else if (auswahl[50] == 2)
    {
    printf("%s-20,%i5,%s-10 \n", "Erfrischungsgetränk", erfrischung, "Euro");
    }

    else if (auswahl[50] == 3)
    {
    printf("%s-20,%i10,%s-10 \n", "Orangensaft", orange, "Euro");
    }

    else if (auswahl[50] == 4)
    {
    printf("%s-20,%i10,%s-10 \n", "Kuchenstück", kuchen, "Euro");
    }

    else if (auswahl[50] == 5)
    {
    printf("%s-20,%i10,%s-10 \n", "Belegtes Brötchen", broetchen, "Euro");
    }

    else if (auswahl[50] == 6)
    {
    printf("%s-20,%i10,%s-10 \n", "Croisant mit Butter", croisant, "Euro");
    }

    system("pause");
    }



  • Was soll auswahl[50] == machen?

    Bei printf gehört die Längenangabe zwischen % und Formatspecifier (nicht dahinter).
    %i ist zudem für die Ausgabe von int egern. Für double brauchst du %f.

    Aber warum nimmst du nicht cout , da kann dier sowas nicht passieren.

    Achte auch auf die Warnungen vom Compiler.

    Nimm beim nächsten mal bitte die Code-Tags zum formatieren vom Code und nutze auch die Vorschau.



  • for (int i = 0; menge < i; i++)

    Wie oft wird die Schleife durchlaufen?



  • manni66 schrieb:

    for (int i = 0; menge < i; i++)

    Wie oft wird die Schleife durchlaufen?

    Hehe, hab mir den code gar nicht erst angesehen, weil ich denke, daß Leuten, die nicht mal das "formatiere code"-Konzept begreifen, sowieso nicht zu helfen ist.

    Bitte -4 Kaffee bitte.



  • Hallo,

    Du solltest als erstes mal die Aufgabe durchlesen.
    Danach würde es Sinn machen, ein Konzept zu erstellen.
    Dann die Umsetzung in ein Programm.

    bergos schrieb:

    Ich schreibe morgen eine Arbeit in der Schule und habe eine Probeaufgabe von meinem Lehrer bekommen und irgendwie komm ich nicht weiter...

    Das dürfte dann wohl zu spät sein. Bist ja auch ganz schön früh dran mit dem Fragen 😉

    bergos schrieb:

    Die Aufgabe lautet:
    [...]
    Achten Sie auf geschickte Verwendung von if/else, for, while und do..while, switch, cin, getch etc.

    Ich sehe in Deinem Code kein While, Do, Switch oder getch.
    Ich bin zwar noch blutiger Anfänger in Sachen C++ aber das Auswahlmenü wäre doch gut mit einer While-Schleife und Abfrage der Eingabe über getch. Die Auswahl selbst wäre doch sehr gut mit einer Switch-Anweisung bearbeitet.

    Aber es fehlt ja schon an der Umsetzung der Aufgabe. Die Bestellung soll erweitert und geändert werden können. Ein Möglichkeit zum Beenden des Programms wäre auch ganz nett. All dies fehlt bei Dir schon mal.

    Wenn Du nun noch die Produkte in eine Array-Variable packst, könntest Du Dir auch noch das ganze if-else-Gedöns sparen und das ganze wäre auch noch um andere Produkte erweiterbar.

    Grüße
    Steuerfuzzi


Anmelden zum Antworten