Advertisement
Guest User

asdasdasdasdas

a guest
Jan 26th, 2020
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.20 KB | None | 0 0
  1. #include <stdio.h>
  2. #define PROJEKT 0.50
  3. #define FACHQUALI 0.40
  4. #define WISO 0.20
  5.  
  6.  
  7. int getNote(double punkte);
  8. double getGesamtPunkte(double punkte, double gewichtung);
  9. char* getBestanden(double punkte, int prufung);
  10. char *getErganzung(char bestanden, double ga1, double ga2, double wiso);
  11.  
  12. int main() {
  13.  
  14. //
  15. double _punkteProjekt = 0.00;
  16. double _punkteFachgesprach = 0.00;
  17. double _punkteAufgabe1 = 0.00;
  18. double _punkteAufgabe2 = 0.00;
  19. double _punkteWiso = 0.00;
  20. double gesamtPunkteA = 0.00;
  21. double gesamtPunkteB = 0.00;
  22.  
  23. printf("Prufungsteil A\n");
  24. printf("Punkte Projektarbeit:");
  25. scanf("%lf", &_punkteProjekt);
  26. printf("Punkte Prasentation und Fachgesprach:");
  27. scanf("%lf", &_punkteFachgesprach);
  28. printf("----------------------------------------\n");
  29. printf("Prufungsteil B\n");
  30. printf("Punkte Ganzheitliche Aufgabe I:");
  31. scanf("%lf", &_punkteAufgabe1);
  32. printf("Punkte Ganzheitliche Aufgabe II:");
  33. scanf("%lf", &_punkteAufgabe2);
  34. printf("Punkte Wirtschafts- und Sozialkunde:");
  35. scanf("%lf", &_punkteWiso);
  36.  
  37. gesamtPunkteA = getGesamtPunkte(_punkteProjekt, PROJEKT) +
  38. getGesamtPunkte(_punkteFachgesprach,PROJEKT);
  39.  
  40. gesamtPunkteB = getGesamtPunkte(_punkteAufgabe1, FACHQUALI) +
  41. getGesamtPunkte(_punkteAufgabe2,FACHQUALI) +
  42. getGesamtPunkte(_punkteWiso,WISO);
  43.  
  44. printf("\n\n------------------------------------------------------------------------\n");
  45. printf("Prufungsteil\t");
  46. printf("Gewicht\t");
  47. printf("Punkte\t");
  48. printf("Gesamtpunkte\t");
  49. printf("Note\t");
  50. printf("Bestanden\n");
  51.  
  52. printf("Dokumentation\t");
  53. printf("50%%\t");
  54. printf("%.1lf\t", _punkteProjekt);
  55. printf("%.1lf\t\t", gesamtPunkteA);
  56. printf("%d\t", getNote(gesamtPunkteA));
  57. printf("%s\n", getBestanden(gesamtPunkteA,1));
  58.  
  59. printf("Prasentation\t");
  60. printf("50%%\t");
  61. printf("%.1lf\n", _punkteFachgesprach);
  62. printf("------------------------------------------------------------------------\n");
  63. printf("Prufungsteil\t");
  64. printf("Gewicht\t");
  65. printf("Punkte\t");
  66. printf("Gesamtpunkte\t");
  67. printf("Note\t");
  68. printf("Bestanden\n");
  69.  
  70. printf("Fachquali (GA1)\t");
  71. printf("40%%\t");
  72. printf("%.1lf\t", _punkteAufgabe1);
  73. printf("%.1lf\t\t", gesamtPunkteB);
  74. printf("%d\t", getNote(gesamtPunkteB));
  75. printf("%s\n", getBestanden(gesamtPunkteB,2));
  76.  
  77. printf("Fachquali (GA2)\t");
  78. printf("40%%\t");
  79. printf("%.2lf\n", _punkteAufgabe2);
  80.  
  81. printf("Wirtschaft\t");
  82. printf("20%%\t");
  83. printf("%.1lf\t\t\t\t", _punkteWiso);
  84. printf("%s\n", getErganzung((char) getBestanden(gesamtPunkteB, 2), _punkteAufgabe1, _punkteAufgabe2, _punkteWiso));
  85.  
  86. return 0;
  87. }
  88.  
  89. int getNote(double punkte){
  90. return punkte < 101 && punkte > 91 ? 1 :
  91. punkte < 92 && punkte > 80 ? 2 :
  92. punkte < 81 && punkte > 66 ? 3 :
  93. punkte < 67 && punkte > 49 ? 4 :
  94. punkte < 50 && punkte > 29 ? 5 :
  95. punkte < 30 ? 6 : 0;
  96. }
  97.  
  98. double getGesamtPunkte(double punkte, double gewichtung) {
  99. return punkte * gewichtung;
  100. }
  101.  
  102. char *getBestanden(double punkte, int prufung) {
  103. if (prufung == 1){
  104. return punkte > 49 ? "JA!" : "NEIN!";
  105. }
  106. return punkte > 49 ? "JA!" : "NEIN!";
  107. }
  108.  
  109. char *getErganzung(char bestanden, double ga1, double ga2, double wiso) {
  110. int note1 = getNote(ga1);
  111. int note2 = getNote(ga2);
  112. int note3 = getNote(wiso);
  113.  
  114. if((char *) bestanden == "JA!"){
  115. return "";
  116. }
  117.  
  118. if(note1 == 5 && note2 == 5 && note3 < 5){
  119. return "Erganzung moglich";
  120. }
  121. if(note1 == 5 && note2 < 5 && note3 == 5){
  122. return "Erganzung moglich";
  123. }
  124. if(note1 < 5 && note2 == 5 && note3 == 5){
  125. return "Erganzung moglich";
  126. }
  127.  
  128. if(note1 == 5 && note2 < 5 && note3 < 5){
  129. return "Erganzung moglich";
  130. }
  131. if(note1 < 5 && note2 == 5 && note3 < 5){
  132. return "Erganzung moglich";
  133. }
  134. if(note1 < 5 && note2 < 5 && note3 == 5){
  135. return "Erganzung moglich";
  136. }
  137.  
  138. return "Erganzung nicht moglich";
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement