Anfängerproblem :)
-
Hallo,
Ich lerne seid gestern C.
Ich habe entschieden von [/url]http://www.c-howto.de[url] zu lernen.
(Wenn ihr was besseres für mich habt her damit^^).
Im Tutorial sind immer kleine Übungen.#include <stdio.h> int main() { int wahl; printf ("\n\n1) Wasser 0,50 Euro"); printf ("\n2) Cola 1,00 Euro"); printf ("\n3) Fanta 1,50 Euro"); printf ("\n\nWaehlen sie ein Getraenk aus: "); scanf ("%d",&wahl); if (wahl = 1 || 2 || 3) { float geld; switch (wahl) { case 1: geld = 0.50; break; case 2: geld = 1.00; break; case 3: geld = 1.50; break; } printf ("\nBitte werfen sie %.2f Euro ein: ",geld); float einwurf=0; scanf ("%f",&einwurf); if (einwurf == geld) { printf ("\n\nVielen Dank, bitte entnehmen sie ihr Getraenk\n"); } else { printf("\n\nSie haben nicht %.2f Euro eingeworfen!\n",geld); } } else { printf("\nSo ein Getraenk haben wir nicht\n"); } system("PAUSE"); return 0; }
Mein Problem ist das wenn man zb 0--,4++ eingibt das dann kommt das ich 0,5 euro zahlen soll obwohl ich eine if einweisung eingebaut habe
wenn ich den richtigen betrag zahle stimmt es aber.ich hoffe ihr könnt mir helfen
ich finde den fehler einfach nichtmfg me^^
ahja und schreibfehler dürft ihr behalten.
-
liegt daran: if (wahl = 1 || 2 || 3)
muss heissen: if (wahl==1 || wahl==2 || wahl==3)
wahl=1 ist eine Zuweisung, außerdem sollte man wissen, dass alle Zahlen, die nicht Null sind, als wahr angesehen werden (0 ist dementsprechend unwahr). Durch die Zuweisung ist wahl immer 1 und 1 || 2 || 3 ist immer wahr.
-
vielen dank^^
muss wohl noch bischen müde sein
meine Tante hatte gestern geburtstag da haben wir n bischen gefeiertwar wohl noch bischen müde als ich das geschrieben habe.
-
sp1x7 schrieb:
haben wir n bischen gefeiert
Wahrscheinlich so dolle, dass du seid mit seit vertauschst
-
ahja und schreibfehler dürft ihr behalten.
xD
-
ahja und schreibfehler dürft ihr behalten.
xD