Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.88 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.     float EingabeSorte();
  4.     float EingabeMenge();
  5.     float preisAngabe();
  6.     float returnSumme();
  7.     void ausgabeFlaschen();
  8.     void ausgabeWachselGeld();
  9.    
  10. int main() {
  11.  
  12. float sorte=0;
  13. float menge=0;
  14. float geld=0;
  15. float zwischenSumme=0;
  16. float endSumme=0;
  17. float preis;
  18.  
  19. int a;
  20.  
  21. sorte = EingabeSorte();
  22. menge = EingabeMenge();
  23. preis = preisAngabe(sorte);
  24.  
  25. zwischenSumme = preis*menge;
  26.  
  27. endSumme = returnSumme(zwischenSumme);
  28. ausgabeFlaschen();
  29. ausgabeWachselGeld();
  30.  
  31.  
  32. // Ausgabe des benötigten geldes
  33. printf("Werfen sie bitte %.2f Euro ein!", zwischenSumme);
  34.  
  35. scanf("%d", &a);
  36.  
  37. }
  38.  
  39.  
  40.  
  41.  
  42. // eingabewerte Sorte 1,2,3
  43. float EingabeSorte()
  44. {
  45.     float eingabe=0;
  46. printf("Getraenke Automat c2.0\n\n");
  47. printf("Waehle ein Getraenk\n");
  48. printf("1) Wasser (0.50 Euro)\n");
  49. printf("2) Limonade (1.00 Euro)\n");
  50. printf("3) Bier (2.00 Euro)\n\n");
  51.  
  52. printf("\n\nGebe sie bitte 1, 2 oder 3 fuer das gewuenschte Getraenk ein!\n");
  53. scanf("%d", &eingabe);
  54.  
  55. // Sicherheitsabfrage
  56. if(eingabe!=1 && eingabe!=2 && eingabe!=3)
  57.     {
  58.     printf("Nicht norhanden.\n---ENDE---");
  59.     }
  60. return eingabe;
  61. }
  62.  
  63.  
  64.  
  65.  
  66.  
  67. // menge des Getränks
  68. float EingabeMenge()
  69. {
  70.     float menge=1;
  71. printf("\n\nBitte geben sie die Menge ein!\n");
  72. scanf("%d", &menge);
  73.  
  74. return menge;
  75. }
  76.  
  77.  
  78.  
  79.  
  80.  
  81. // Preis angabe anhand der Sorte
  82. float preisAngabe(int sorte)
  83. {
  84.  
  85.     float preis=0;
  86.  
  87. // Ausführung
  88. printf("\n\n------ Bezahlvorgang ------\n\n-");
  89.  
  90. switch(sorte)
  91. {
  92. case 1:
  93.     preis = 0.5;
  94.     break;
  95.  
  96. case 2:
  97.     preis = 1.0;
  98.     break;
  99.  
  100. case 3:
  101.     preis = 2.0;
  102.     break;
  103.  
  104. default:
  105.     printf("\nDieses Getraenkenummer gibt es nicht \n---ENDE!---");
  106. }
  107.  
  108. return preis;
  109.  
  110. }
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117. // Einwurd von Geld bis die Summe erreicht ober überschritten wird!
  118. float returnSumme(float zwischenSumme)
  119. {
  120.  
  121. float aktuelleSumme=0;
  122. float geld=0;
  123.  
  124. do {
  125.  
  126.     printf("\n\nAktuelle Summe: %.2f", aktuelleSumme);
  127.     printf("\nWerfen sie Geld ein!\n");
  128.     scanf("%f", &geld);
  129.  
  130.  
  131.     // Prüfung ob man nicht Minus Geld einwerfen will
  132.     if(geld < 0)
  133.     {
  134.         printf("Ihr koennt kein Geld kleiner 0 einwerfen!");
  135.             continue;
  136.     }
  137.     // Eingewirfenes Geld zusammenrechnen
  138.     aktuelleSumme += geld;
  139.  
  140. }
  141. while(zwischenSumme > aktuelleSumme);
  142.  
  143. return aktuelleSumme;
  144.  
  145. }
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152. // Ausgabe der Flaschen
  153. void ausgabeFlaschen(float menge)
  154. {
  155.     int i;
  156.  
  157. printf("\n\n--- Getraenkeausgabe ---\n\n");
  158.  
  159. for(i=0; i<menge; i++)
  160.     {
  161.     printf("Flasche %d von %d wurde ausgegeben\n", i+1, menge);
  162.     }
  163. }
  164.  
  165.  
  166.  
  167.  
  168.  
  169. // Wechselgeld ausgeben falls vorhanden
  170. void ausgabeWachselGeld(float endSumme, float zwischenSumme)
  171. {
  172.     float WachselGeld=0;
  173.  
  174. WachselGeld = endSumme - zwischenSumme;
  175.  
  176. if(WachselGeld > 0)
  177.     {
  178.     printf("\n\n--- Wachselgeld ---");
  179.     printf("\nBitte entnehmen sie ihr Restgeld: %.2f", WachselGeld);
  180.     }
  181.  
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement