Umrechner
-
Hallo,
ich habe ein Mini-Programm geschrieben, welches eine Eingabe in euro umrechnen soll und umgekehrt. Wenn 1 eingegeben, dann in euro, wenn 0 eingegeben, dann in dm zurückrechnen.
int main() { int faktor = 1.79; int betrag; int waehrung; printf("Betrag:\n"); scanf("%d", &betrag); printf("Waehrung:\n"); scanf("%d", &waehrung); if(waehrung == 1) //in euro umrechnen { int ergebnis = betrag * faktor; printf("ergebnis = %d", ergebnis); } else if(waehrung == 0) //in dm umrechnen { int ergebnis = betrag/faktor; printf("ergebnis = %d", ergebnis); } else { printf("Fehler: Moegliche Eingaben sind 0(DM) oder 1(Euro)\n"); return 0; } return 0; }
Jetzt hab ich nur ein Problem, und zwar rechnet er einfach nicht, wenn ich z.B. 20 (DM) eingebe, dann meint er "Ergebnis = 20", und das macht er auch wenn ich 0 als Option wähle. Desweiteren will ich nicht das er "Ergebnis = irgendwas"
schreibt, sondern er soll nur die Zahl hinschreiben.Danke schon mal für Tipps!
-
int ist nicht der geeignete typ für kommazahlen.
-
klar da musst du float werte verwenden weil int rundet er in deinem fall ab
also steht da statt int = 1.79 "int = 1"
-
Ist es besser die Variable "ergebnis" lokal oder global zu definieren?
-
lokal ist eigentlich immer besser.
-
Danke!
-
naja lokal, global.
ist beides nicht besser und nicht schlechter.
kommt halt immer drauf an, was man machen will.
-
doch, bei local kann der optimizer radikaler vorgehen
-
doch, bei local kann der optimizer radikaler vorgehen
und zusätzlich führt es meistens zu sehr viel weniger Seitenfehlern.
-
und vor allem behälst du bei größeren Projekten den Überblick, weil du genau weisst wer die Var. verändert. Debuggt sich leichter als wenn du die ganze Zeit nur Globale var. veränderst.
-
Ok.
Werde nie wieder Globale Variablen einsetzen.
-
ja fein ... globals sind szs die gotos der variablen !
-
sOLL ich auch noch auf konstanten verzichten?
-
Original erstellt von <s>:
sOLL ich auch noch auf konstanten verzichten?konstanten sind klasse.
-
Kommt auf die Konstante an. Hartkodierte Größenbeschränkungen oder Dateinamen sind zB bäh.
-
Wie gesagt kommt darauf an. In deinem Programm währe es z.b. sinnvoll die
Kurs var. konstant zu machen, dann schreit der Compiler wenn du die irgendwo änderst.
-
Hallo.
Was bedeutet "referenziert"?
-
<ot>
Der Kurs ist nicht 1.79 (DM/EUR, wenn ich richtig gelesen hab), sondern 1.95583 :D.PS: Mein erstes Programm / "Projekt" in C war ein Euro/DM Umrechner *g*.
</ot>
-
Mein erstes Programm / "Projekt" in C war ein Euro/DM Umrechner
M;ein erstes Project war ein "Hallo Welt" auf C.
Wird da schon jemand neidisch?
-
Ich hab als erstes nen Celsius/Fahrenheit Umrechner programmiert. War ziemlich kewl .