Advertisement
MBrendecke

Rechner

Apr 16th, 2018
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Aufgabenblatt 3
  2. @author: Marc Brendecke
  3. @date: 16.04.2018
  4. */
  5.  
  6. #include <stdio.h>
  7. #include <stdbool.h>
  8.  
  9. #define ADDITION        'a'
  10. #define SUBTRAKTION     'b'
  11. #define DIVISION        'c'
  12. #define MULTIPLIKATION  'd'
  13. #define ENDE            'e'
  14. #define NULL            0
  15.  
  16. void addieren(float zahl1, float zahl2);
  17. void subtrahieren(float zahl1, float zahl2);
  18. void dividieren(float zahl1, float zahl2);
  19. void multiplizieren(float zahl1, float zahl2);
  20.  
  21. /* Funktion zum Addieren */
  22. void addieren(float zahl1, float zahl2) {
  23.     float ergebnis = zahl1 + zahl2;
  24.  
  25.     printf(" %f + %f = %.3f\n", zahl1, zahl2, ergebnis);
  26.     printf(" Ihr Ergbenis lautet : %.3f", ergebnis);   
  27. }
  28.  
  29. /* Funktion zum Subtrahieren */
  30. void subtrahieren(float zahl1, float zahl2) {
  31.     float ergebnis = zahl1 - zahl2;
  32.  
  33.     printf(" %f - %f = %.3f\n", zahl1, zahl2, ergebnis);
  34.     printf(" Ihr Ergbenis lautet : %.3f", ergebnis);
  35. }
  36.  
  37. /* Funktion zum Dividieren */
  38. void dividieren(float zahl1, float zahl2) {
  39.     if (NULL == zahl2) {
  40.         printf("Man kann nicht durch Null teilen!\n\n");
  41.         return;
  42.     }
  43.     /* Rechnung wird ausgeführt solange keine Null als zahl2 ausgewählt worden ist */
  44.     else {
  45.  
  46.         float ergebnis = zahl1 / zahl2;
  47.  
  48.         printf(" %f / %f = %.3f\n", zahl1, zahl2, ergebnis);
  49.         printf(" Ihr Ergbenis lautet : %.3f", ergebnis);
  50.     }
  51. }
  52.  
  53. /* Funktion zum Multiplizieren */
  54. void multiplizieren(float zahl1, float zahl2) {
  55.  
  56.     float ergebnis = zahl1 * zahl2;
  57.  
  58.     printf(" %f * %f = %.3f\n", zahl1, zahl2, ergebnis);
  59.     printf(" Ihr Ergbenis lautet : %.3f", ergebnis);
  60. }
  61.  
  62. int main(void) {
  63.  
  64.     char auswahl = 0;
  65.     float zahl1 = 0.0f;
  66.     float zahl2 = 0.0f;
  67.     float ergebnis = 0.0f;
  68.  
  69.     while (true) {
  70.  
  71.         printf("Geben sie die erste Zahl ein:");
  72.         scanf_s("%f", &zahl1);
  73.         printf("\nGeben sie die zweite Zahl ein:");
  74.         scanf_s("%f", &zahl2);
  75.  
  76.         printf("\nWaehlen sie eine Option aus: \n\na. Addition \nb. Subtraktion \nc. Division \nd. Multiplikation \ne. Ende \n\n");
  77.         scanf_s("%c", &auswahl, 1);
  78.  
  79.         if (ENDE == auswahl) {
  80.             printf("Das Program wird beendet.\n");
  81.             break;
  82.         }
  83.  
  84.         else if (ADDITION == auswahl) {
  85.             addieren(zahl1, zahl2);
  86.         }
  87.  
  88.         else if (SUBTRAKTION == auswahl) {
  89.             subtrahieren(zahl1, zahl2);
  90.         }
  91.  
  92.         else if (DIVISION == auswahl) {
  93.             dividieren(zahl1, zahl2);
  94.         }
  95.  
  96.         else if (MULTIPLIKATION == auswahl) {
  97.             multiplizieren(zahl1, zahl2);
  98.         }
  99.  
  100.         else if (auswahl < ENDE || auswahl > MULTIPLIKATION) {
  101.  
  102.             printf("Ihre Auswahl liegt ausserhalb der Auswahlmoeglichkeiten.\n\n");
  103.         }
  104.     }
  105.  
  106.     return 0;
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement