#include <stdio.h>          /* Verzweigungen - switch - Menü */
 
/*  2. Schreiben Sie ein Programm, das folgendes Menü anbietet:
s - Summe, d - Differenz, p - Produkt, q - Quotient,
zwei beliebige Zahlen als Operanden sowie den Buchstaben für das gewünschte
Resultat einliest und die entsprechende Aktion realisiert! 
----------------------------------------------------------------------------- */
/*  geg.: a, b und das Menü
    ges.: Ausführung des Menüs und der Berechnungen
    Lsg.: Variablen a, b, menue  vereinbaren
          Menü ausgeben
          Wunsch einlesen
          Fallunterscheidung zur Realisierung der Wunsch-Operation mit Anzeigen
          des Ergebnisses
             mit switch und für kleine und große Buchstaben
             Kontrolle bei Division
          Hinweis bei falschem Buchstaben für das Menü
-----------------------------------------------------------------------------*/
main()
{
   char menue; float a, b;

   printf("\n s - Summe\n d - Differenz\n p - Produkt\n q - Quotient\n");

/* Variante 1:

   printf("\n bitte die Operanden: ");
   scanf("%f %f", &a, &b);
   printf("\n Buchstabe fuer das zu berechnende Ergebnis: ");
   scanf("%c", &menue);  scanf("%c", &menue);

   Variante 2:                                                   */

   printf(" bitte die Rechnung: ");
   scanf("%f %c %f", &a, &menue, &b);
                        
   printf("\n\n");

   switch ( menue )
   {
      case 's': case 'S': case '+': printf(" %f + %f = %f", a, b, a + b); break;

      case 'd': case 'D': case '-': printf(" %f - %f = %f", a, b, a - b); break;

      case 'p': case 'P': case '*': printf(" %f * %f = %f", a, b, a * b); break;

      case 'q': case 'Q': case ':': case '/':
                                  if (b==0)  /* == Vergleich, = Wertzuweisung */
                                   printf(" Division durch 0 nicht definiert!");

                                else printf(" %f : %f = %f", a, b, a/b ); break;

      default: printf(" falsche Eingabe! ");
   }
   printf("\n\n"); system("PAUSE");
}/*---------------------------------------------------------------------------*/
/* Hinweise:
   scanf("%c", &menue) doppelt wegen enter-Zeichens der vorherigen Eingabe.
   Es geht auch nur: scanf("\n%c", &menue); oder scanf(" %c", &menue);
   Bei  scanf("%s", &menue) wird das Ende-Zeichen mit gespeichert, obwohl gar
   kein Platz dafür da ist.
------------------------------------------------------------------------------*/
