simple calculator, in/out PC

Dependencies:   mbed

main.cpp

Committer:
heseg
Date:
2019-11-22
Revision:
0:68303edf5ba2

File content as of revision 0:68303edf5ba2:

/* ************************************************************************ */
/* *****************  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 */