Josef Humer
/
BuNuc_rechner
simple calculator, in/out PC
Diff: main.cpp
- Revision:
- 0:68303edf5ba2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Nov 22 16:00:24 2019 +0000 @@ -0,0 +1,47 @@ +/* ************************************************************************ */ +/* ***************** Projekt: BuNuc_rechner **************************** */ +/* ***** Abteilung Elektronik und Technische Informatik / Humer ********** */ +/* ***** BULME GRAZ, einfacher Taschenrechner über UART ************** */ +/* ************************************************************************ */ + +#include "mbed.h" + +Serial pc(SERIAL_TX, SERIAL_RX); // TxD, RxD Definition der Portleitung +/* ******************** Variablendefinitionen ***************************** */ +float zahl1; +float zahl2; +float erg; +char op; +/* ********************* Hauptprogramm ************************************ */ +main() +{ + pc.baud(9600); // Datenübertragungsgeschw. 9600 bit/sec + wait(5); // Warte 5 Sekunden, Verbindung am PC herstellen + +while(1) +{ + pc.printf("Geben Sie zwei Zahlen ein: \n"); // Ausgabe + pc.printf("Zahl1 Operator Zahl2 <return>, Komma mit Punkt\n"); + pc.scanf("%f %c %f",&zahl1,&op,&zahl2); // Einlesen der Daten + pc.printf("Zahl 1 = %7.2f \n",zahl1); // Ausgabe der Zahl1 + pc.printf("Operator = %c\n",op); // Ausgabe des Operators + pc.printf("Zahl 2 = %7.2f \n",zahl2); // Ausgabe der Zahl2 + pc.printf("--------------------------\n"); + switch(op) + { + case '+': + pc.printf("Ergebnis = %7.2f\n",(float)zahl1+zahl2); // Ergebnis für + + break; + case '-': + pc.printf("Ergebnis = %7.2f\n",(float)zahl1-zahl2); // Ergebnis für - + break; + case '/': + pc.printf("Ergebnis = %7.2f\n",(float)zahl1/zahl2); // Ergebnis für / + break; + case '*': + pc.printf("Ergebnis = %7.2f\n",(float)zahl1*zahl2); // Ergebnis für * + break; + } /* end switch */ + pc.printf("\n\r"); // Leerzeile +} /* end while */ +} /* end main */