Bankomat-Beispiel mit Klasse und Headerdatei

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
powerboox
Date:
Mon Jun 25 15:38:03 2018 +0000
Commit message:
..

Changed in this revision

Bankomat.cpp Show annotated file Show diff for this revision Revisions of this file
Bankomat.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Bankomat.cpp	Mon Jun 25 15:38:03 2018 +0000
@@ -0,0 +1,56 @@
+/**
+ Bankomat-Klasse
+ 
+ */
+#include "mbed.h"
+#include "Bankomat.h"
+
+void  Bankomat::random()
+{
+  for(int i=0;i<4;i++)
+  {
+    Pincode = rand() % 9+1; //Zufallszahl 0..9
+    //Pincheck[i]=Pincode+48; // +48 für die Position auf der ASCII-Tabelle
+    Zahl[i] = Pincode;
+    clearleds();
+  }
+  wait_ms(1500);
+  showPin();
+  printf("\n_\t_\t_\t_\t\n\n");
+}
+
+void Bankomat::showPin()
+{
+  // 1,5 sek lange den PIN darstellen.
+  _allleds=Pincode;
+  wait_ms(1500);
+  clearleds();
+}
+
+void Bankomat::eingabe()
+{
+  // 4 Zahlen einlesen
+  scanf("%i",&UserPin[0]);
+  scanf("%i",&UserPin[1]);
+  scanf("%i",&UserPin[2]);
+  scanf("%i",&UserPin[3]);
+}
+void Bankomat::clearleds()
+{
+  // LEDS leeren
+  _led1=0; _led2=0; _led3=0; _led4=0;
+}
+
+void Bankomat::ausgabe()
+{
+  
+  printf("\nEingegeben:  \n%i\t%i\t%i\t%i\t\n\n",UserPin[0],UserPin[1],UserPin[2],UserPin[3]);
+  printf("\nPIN:  \n%i\t%i\t%i\t%i\t\n\n",Zahl[0],Zahl[1],Zahl[2],Zahl[3]);
+  if(UserPin[0] != Zahl[0]||UserPin[1] != Zahl[1]||UserPin[2] != Zahl[2]||UserPin[3] != Zahl[3])
+    printf("\nPIN falsch!\n");
+  else
+    printf("\nPIN richtig!\n");
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Bankomat.h	Mon Jun 25 15:38:03 2018 +0000
@@ -0,0 +1,38 @@
+/**
+  Header für die Bankomat-Klasse
+ 
+ */
+#include "mbed.h"
+#ifndef BANKOMAT_H
+#define BANKOMAT_H
+
+class Bankomat{
+  
+private:
+  DigitalOut _led1; DigitalOut _led2;
+  DigitalOut _led3; DigitalOut _led4;
+  
+  BusOut _allleds;
+  int Pincode;
+  int Pincheck[4];
+  int Zahl[4];
+  int UserPin[4]; //PIN-Eingabe
+  
+public:
+  
+  Bankomat(PinName pin1, PinName pin2, PinName pin3, PinName pin4):
+  _allleds(pin1,pin2,pin3,pin4),
+  _led1(pin1), _led2(pin2), _led3(pin3), _led4(pin4)
+  {
+  }
+  void  random();
+  void showPin();
+  void eingabe();
+  void ausgabe();
+  void clearleds();
+  
+  
+};
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Jun 25 15:38:03 2018 +0000
@@ -0,0 +1,27 @@
+/**
+ Bankomat main.cpp
+ 
+ */
+#include "mbed.h"
+#include "Bankomat.h"
+
+Bankomat  bankcode(LED1,LED2,LED3,LED4);
+
+int main()
+{
+  printf("PIN wird erstellt!\n\n");
+  wait_ms(1000);
+  
+  printf("Ausgabe an LEDs!\n(Binaercode)\n\n");
+  wait_ms(1000);
+  
+  bankcode.random(); // PIN generieren
+  
+  printf("Bitte 4-stelligen PIN eingeben!\n\n");
+  wait_ms(1000);
+  bankcode.eingabe();
+  bankcode.ausgabe();
+  wait_ms(5000);
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Jun 25 15:38:03 2018 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/5aab5a7997ee
\ No newline at end of file