Bankomat-Beispiel mit Klasse und Headerdatei
Dependencies: mbed
Revision 0:9503058814de, committed 2018-06-25
- Comitter:
- powerboox
- Date:
- Mon Jun 25 15:38:03 2018 +0000
- Commit message:
- ..
Changed in this revision
--- /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