Kostenloser Elektrotechnik VIDEO-Kurs


Grundlagen der Elektrotechnik, Gleichstromnetze und Berechnungsverfahren
Wechselstrom- und Drehstromnetze, elektrische Maschinen und Regelungstechnik
Digitaltechnik, Mikrocontrollertechnik und C-Programmierung


Programmierung der Getränkeausgabe

In der vergangenen Woche haben wir eine mögliche Lösung für eine Zähleinrichtung der Geldeingabe für den Kaffeeautoamten betrachtet.

Heute soll es nun um die Getränkeausgabe gehen.

Unser Kaffeeautomat bietet 3 Getränke

  • Kaffee 30 Ct
  • Espresso 40 Ct
  • Cappuchino 50 Ct

Die Wahl des Getränks soll über die Buchstaben “k” für Kaffee, “e” für Espresso und “c” für Cappuchino über die Tastatur erfolgen.

Eine möglich Lösung, die ich im heutigen Video zeige, realisiert die Anforderung wieder über eine switch-case Anweisung.




Die Lösung ist noch ziemlich rudimentär und nicht sehr benutzerfreundlich. Prinzipiell funktioniert unser kleines Programm aber schon ganz gut. Wenn Du Lust hast, kannst Du das Programm vielleicht noch an einigen Stellen verbessern.

In der nächsten Folge werden wir eine Frage von Tim aufgreifen. Und zwar benötigen wir eine Möglichkeit, einzelne Bits zu setzen und zu löschen, wenn beispielsweise gleichzeitig eine 10 Ct – und eine 50 Ct- Münze eingeworfen wurde.

Ein wichtiger Hinweis:
Durch die printf()-Ausgabe wird der Programmcode schnell sehr groß. Mein Beispielprogramm kratzt schon knapp an das 2K-Limit.
Hier jusst Du also aufpassen. Wenn Dein Programm größer als 2 kByte werden sollte, wird es nicht auf den kostenfreien Simulator ausgeführt.
Dann solltest Du versuchen, an der einen oder anderen Stelle die printf()-Anweisungen zu kürzen.

Hier noch einmal der C-Code aus dem Video.

c=getchar();
 switch (c)
 {
 case 'k':
 if (Betrag<30)
 {
 printf("Kaffee kostet 30 Cent\n");
 printf("Restbetrag: %d Cent\n", Betrag);
 printf("Bitte werfen Sie (mindestens) %d Cent ein\n",30-Betrag);

 break;
 }
 printf("\nSie haben Kaffee gewählt\n");
 printf("Restbetrag: %d Cent\n", Betrag-=30);
 c=0;
 break;
 case 'e':
 if (Betrag<40)
 {
 printf("Espresso kostet 40 Cent\n");
 printf("Restbetrag: %d Cent\n", Betrag);
 printf("Bitte werfen Sie (mindestens) %d Cent ein\n",40-Betrag);
 break;
 }
 printf("\nSie haben Espresso gewählt\n");
 printf("Restbetrag: %d Cent\n", Betrag-=40);
 c=0;
 break;
 case 'c':
 if (Betrag<50)
 {
 printf("Cappuchino kostet 50 Cent\n");
 printf("Restbetrag: %d Cent\n", Betrag);
 printf("Bitte werfen Sie (mindestens) %d Cent ein\n",50-Betrag);

 break;
 }
 printf("\nSie haben Cappuchino gewählt\n");
 printf("Restbetrag: %d Cent\n", Betrag-=50);
 c=0;
 break;
 }


Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]

Elektrotechnik muss nicht kompliziert sein.
Deshalb gibt es VIDEO-Tutorials.

Hat Dir der Artikel geholfen? - Dann hilf dem Artikel ;-)

Programmierung der Getränkeausgabe:
1 Star2 Stars3 Stars4 Stars5 Stars
5,00 von 5 Punkten, basieren auf 3 abgegebenen Stimmen.
Stimme jetzt ab ! (auf die Sternchen klicken)
Loading ... Loading ...


Fragen und Antworten zu diesem Artikel und zu anderen Themen findest Du im ET-Tutorials Forum

Ähnliche Artikel

Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:

Programmierung eines Kaffeeautomaten – Teil 2 Wie versprochen möchte ich diese Folge mit einer möglichen Lösung der Programmieraufgabe für die Zä...

Programmierung eines Kaffeeautomaten In den vergangenen Folgen haben wir uns um die absoluten Grundlagen der Programmiersprache „C“ gekü...

Funktionen in C Ähnliche oder gleiche Befehle, die öfter genutzt werden kann man besser in Funktionen ausgliedern. F...

Geschachtelte for-Schleife Im letzten Artikel hast Du die Schleifen-Programmierung mit „for“ kennengelernt. Die Aufgabe für heu...

Kaffeeautomat-Funktion für die Münzauswertung Nach einem Ausflug in das Reich der Funktionen, geht es nun zurück zur Programmierung des Kaffeeauto...