Geldautomat



  • Huhu:)
    Kann mir bitte jemand helfen?
    Ich habe folgendes Programm, aber in der Ausgabe gibt er mir nicht die Anzahl der ausgegebenen Geldscheine an...woran könnte das denn liegen?
    Man könnte zwar auch eine for-schleife einbauen, um das Programm zu verkürzen aber wir sollen das so angehen?!

    #include <stdio.h>

    int main(void)
    {
    int s50 = 0;
    int s20 = 0;
    int s10 = 0;
    int s5 = 0;
    int eingabe = 0;

    do
    {
    printf("\t\tGeldautomat\n");
    printf("\t\t-----------\n\n\n");
    printf("Betrag eingeben\t\t"),scanf("%d",&eingabe);

    if (eingabe < 5 || eingabe %5 != 0)
    {
    printf("\n\nFalsche Eingabe: Kein Vielfaches von 5, oder kleiner als 5!\n\n");
    }
    }while(eingabe < 5 || eingabe %5 != 0);

    s50 = eingabe/50;
    eingabe = eingabe %50;

    s20 = eingabe/20;
    eingabe = eingabe %20;

    s10 = eingabe/10;
    eingabe = eingabe %10;

    s5 = eingabe/5;
    eingabe = eingabe %5;

    printf("\n\nAnzahl 50-er: " +s50);
    printf("\n\nAnzahl 20-er: " +s20);
    printf("\nAnzahl 10-er: " +s10);
    printf("\n\nAnzahl 5-er: " +s5);
    printf("\n\n");

    return 0;
    }

    Danke schon einmal im voraus. 🙂



  • Was bezweckst du mit den + beim printf ?

    Falls du damit den String für die Ausgabe erzeugen willst, dann sei dir gesagt, dass printf (und auch C) so nicht funktioniert.

    Der Compiler sollte dich auch mit einer Warnung darauf hinweisen.
    (Wenn nicht, dann erhöhe den Warnlevel)

    Schließe nicht von dem Verhalten einer Programmiersprache auf das Verhalten einer anderen.
    Gerade dannn nicht, wenn C im Spiel ist.

    http://www.cplusplus.com/reference/cstdio/printf/



  • DirkB schrieb:

    Was bezweckst du mit den + beim printf ?

    Weil er verdammt schlau ist und schon im Vorfeld alle zukünftigen Eingaben aufaddiert. :p



  • es könnte daran liegen, dass du für die ausgabe printf("%d", wert) schreiben musst, was du einfach nicht getan hast. sprich z.b. printf("\n\nAnzahl 50-er: %d ", +s50);

    edit: wir erwarten jetzt natürlich einen vollständig korrigierten programmcode, damit andere auch etwas davon lernen können!!!einself



  • HansKlaus schrieb:

    es könnte daran liegen, dass du für die ausgabe printf("%d", wert) schreiben musst, was du einfach nicht getan hast. sprich z.b. printf("\n\nAnzahl 50-er: %d ", +s50);

    edit: wir erwarten jetzt natürlich einen vollständig korrigierten programmcode, damit andere auch etwas davon lernen können!!!einself

    na dann korrigier doch bitte mal aber bitte in code-tags!



  • HansKlaus schrieb:

    es könnte daran liegen, dass du für die ausgabe printf("%d", wert) schreiben musst, was du einfach nicht getan hast. sprich z.b. printf("\n\nAnzahl 50-er: %d ", +s50);

    edit: wir erwarten jetzt natürlich einen vollständig korrigierten programmcode, damit andere auch etwas davon lernen können!!!einself

    mach doch bitte mal noch einen dritten edit, das pluszeichen ist fehl am platz
    danke
    🙂


Anmelden zum Antworten