Tipps für Geldautomaten/ Einheitenumwandlung Programmierung
-
Hallo C++ Community ,
vorne weg , ich bin neue in diesem Forum und suche Hilfe für zwei Aufgaben, die mir aufgegeben worden sind. Dieses Forum ist mir von einem Freund emofohlen worden, der sich früher mit c/ c++ beschäftigt hat. Nun zu meinen Problemen.
Ach ja, im programmieren bin ich noch ein Anfänger und tue mir bei der Umsetzung von der Anforderung in die C- Sprache noch etwas schwer. Ich habe mir schon dieses Buch gekauft : C: Programmieren von Anfang an von Helmut Erlenkötter.Nun zu meinen Problemen.
1.Ich soll ein C-Programm für einen Geldautomaten schreiben, der nur 100,50,20,10€ Scheine enthält. Der eingelesene Betrag soll ein vielfaches von 10€ sein. Den Rest mit falscher Eingabe etc. denke ich kann ich umsetzen, aber liege ich richtig wenn ich das ganze mit dem Modulo mache ?2. Umwandlung PS in Km/h
Ich soll diese Aufgabe mit zwei Zeiger vom typ double machen und einem int Wert , die an die Funktion übergeben werden . Ich verstehe den Zeiger nicht , auch durch das Buch bin ich nicht wirklich schlau daraus geworden.Ich verlange natürlich keine komplette Lösung , aber ich hoffe ihr könnt mir Tipps geben wie ich voran gehen soll, denn wie oben schon beschrieben , bin ich ein Anfänger und bin noch nicht sehr fit im programmieren, und weiß nicht wirklich wie ich anfangen soll.
Danke im voraus
-
zur frage 1 wenn ich das richtig verstanden habe einfach
if (betrag%10==0){...
oder das gegenteil
if (betrag%10!=0){...
Die logikoperatoren kennst du ja bestimmt.
Du könntest dann auch falls es eben nicht 0 ist mit einer richtigen division den nicht urch 10 teilbaren wert ermitteln und entprechend runden lassen.
Zu den pointern da hab ich selber noch nicht so viel ahnung ich bin auch anfänger
-
Üblich wären pro Sorte eine While-Schleife.
Aber es geht auch mit geschickter mit Divisionen oder sogar, wenn man eine Clownsmütze aufsetzt, mit Modulo.#include <iostream> using namespace std; int main(){ int betrag=290; cout<<betrag%20/10<<"*10\n"; cout<<betrag%50/20<<"*20\n"; cout<<betrag%100/50<<"*50\n"; cout<<betrag/100<<"*100\n"; }
Üblicher wäre sowas, zumal der Automat ja auch nur die Scheine nacheinander rausdrücken kann.
#include <stdio.h> int main(){ int betrag=290; while(betrag>=100){ puts("Der Automat drückt einen Huni raus.\n"); betrag-=100; } while(betrag>=50){ puts("Der Automat drückt einen Fuffi raus.\n"); betrag-=50; } while(betrag>=20){ puts("Der Automat drückt einen Zwanni raus.\n"); betrag-=20; } while(betrag>=10){ puts("Der Automat drückt einen Zehner raus.\n"); betrag-=10; } }