1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

C Einsteiger braucht Hilfe!

Discussion in 'Programmieren' started by z000z, Jun 26, 2012.

Thread Status:
Not open for further replies.
  1. z000z

    z000z ROM

    Erstmal ein freundliches Hallo an alle!

    Bevor ich zu meinem Problem komme erstmal ein paar Randinformationen:

    Ich habe gestern angefangen mich mit C zu beschäftigen, weil ich kommenden Montag meine Klausur in Softwareentwicklung 1 schreibe, wo das Hauptaugenmerk auf C liegt. Ich bin jetzt im ersten Semester und hab das alles wohl kräftig unterschätzt und auch wenig Zeit für das Studium da ich viel arbeiten muss, um mir mein Lebensunterhalt finanzieren zu können.

    Anfangs habe ich versucht mit dem Skript zu lernen was in meinen Augen einfach nur total sinnfrei ist. Dann habe ich angefangen nach Tutorials im Internet zu suchen und bin auch schnell fündig geworden.

    Nun zu meinem Problem bei folgender Aufgabe:


    PHP:
    Übungsaufgabe

    Erweitere den bisherigen Getränke
    -Automat um folgende Funktionalitäten:

        
    Es gibt mehrere Getränke zur AuswahlWasserLimonade und Bier.
        
    Wasser kostet 0,50 EuroLimonade 1 Euro und Bier 2 Euro.
        Die 
    Getränke werden jeweils mit nur einem Geldstück bezahlt.
        
    Das Festlegen des zu zahlenden Betrages oder das Überprüfen der Zahlung muss mit einer switch case Anweisung erfolgen.

    So sieht die Bildschirmausgabe zum Lösungsvorschlag aus:
     

    Getraenke Automat v0.2

    Waehlen sie ihr Getraenk aus
    :
    1Wasser (0,50 Euro)
    2Limonade (1,00 Euro)
    3Bier (2,00 Euro)

    Geben sie 12 oder 3 ein2

    Bitte werfen sie 1.00 Euro ein
    1.0

    Vielen Dank
    bitte entnehmen sie ihr Getraenk.
    Das Problem liegt für mich darin, die gewählte Option mit dem gewünschten Preis zu verbinden...

    Soweit bin ich bisher gekommen:

    PHP:
    #include <stdio.h>

    int main()
    {

    float einwurf1=0.5einwurfeinwurf2=1einwurf3=2;
    int option;


    printf("Getraenke Automat v0.2\n\n\n\n");
    printf("Bitte waehlen Sie Ihr Getraenk aus:\n");
    printf("1) Wasser (0,50 Euro)\n");
    printf("2) Limonade (1,00 Euro)\n");
    printf("3) Bier (2,00 Euro)\n\n");
    printf("Geben sie 1, 2 oder 3 ein:");
    scanf("%d", &option);

    switch (
    option)
    {
        case 
    1printf("Bitte werfen sie %0.2f Euro ein:"einwurf1); break;
        case 
    2printf("Bitte werfen sie %0.2f Euro ein:"einwurf2); break;
        case 
    3printf("Bitte werfen sie %0.2f Euro ein:"einwurf3); break;
        default: 
    printf("Sie haben keine passende Option gewaehlt, bitte druecken Sie erneut.");
    }


    return 
    0;

    }

    Jetzt kommt denke ich mal ein 2. scanf() nur weiß ich nich wie ich da jetzt den dazugehörigen Betrag bekomme, da ich ja vorher nicht weiß, welche Option gewählt wird.

    Ich hoffe das man mein Problem irgendwie nachvollziehen kann, ich weiß mittlerweile schon selber nicht mehr genau was mein Problem ist, da ich jetzt nach 7Stunden doch recht am Ende bin... :)



    MfG,

    z000z
     
  2. z000z

    z000z ROM

    So bin jetzt selber ein bisschen weiter gekommen und habe ein bisschen was geändert:

    PHP:
    switch (option)
    {
        case 
    1preis=0.5; break;
        case 
    2preis=1; break;
        case 
    3preis=2; break;
        default: 
    printf("Sie haben keine passende Option gewaehlt, bitte druecken Sie erneut.\n");
    }

    printf("\nBitte werfen Sie %.2f Euro ein:"preis);
    scanf("%.2f", &einwurf);

    if (
    einwurf==preis)

        
    printf("\nVielen Dank, bitte entnehmen sie ihr Getraenk.\n");
    else
        
    printf("Sie haben kein %.2f Euro Stueck eingeworfen."preis);


    return 
    0;
    }
    So habe ich es nun umgeschrieben und funktioniert auch alles soweit bis auf das Ende, wo man das Geld einwerfen soll. Dort, egal was ich eintippe wird es immer als falsch erkannt... Hoffe mir kann da jemand helfen.


    Danke im vorraus

    MfG,

    z000z
     
    Last edited: Jun 26, 2012
  3. root

    root Megabyte

    scanf erwartet hier wohl eine Zahl mit zwei Nachkommastellen. Was passiert, wenn du stattdessen scanf("%f", &einwurf) verwendest?

    Gruß, root
     
Thread Status:
Not open for further replies.

Share This Page