Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. /*
  2. Autor: René Thal
  3. Zweck: Auskunft, ob Prüfung insgesamt bestanden oder nicht
  4. Datum 25.01.2020
  5.  
  6. Prüfung besteht den Teilen A und B, gegliedert in A.1, A.2 sowie B.1, B.2 und B.3
  7. Ist in einem Teil (A oder B) Gesamtpunktzahl<50, gilt dieser Prüfungsteil als nicht bestanden
  8. Wenn Teil B Gesamtpunktzahl<50 gilt dies als nicht bestanden und muss wiederholt werden
  9. Wenn Teil B eine oder zwei Teilprüfung mangelhaft, besteht möglichkeit der mündl. Nachprüfung
  10. Die Note wird dann 1:2 mit der Note aus der schriftl. Prüfung verrechnet
  11. Mit dieser neuen Note wird dann diee Gesamtnote Teil B neu berechnet.
  12. Wird eine Teilaufgabe mit Ungenügend abgeschlossen, so gilt dieser Prüfungsteil als fehlgeschlagen
  13. Man kann die Prüfung insgesamt 2 Mal wiederholen
  14. */
  15.  
  16. #include <stdio.h>
  17. #include <stdlib.h>
  18.  
  19. //Eingaben der Ergebnisse des Anwenders
  20. int AUFGABE_A1();
  21. int AUFGABE_A2();
  22. int AUFGABE_B1();
  23. int AUFGABE_B2();
  24. int AUFGABE_B3();
  25.  
  26. //Berechnung der Gesamtpunktzahl des jeweiligen Prüfungsteils
  27. int GESAMTPUNKTE_A(int a1, int a2);
  28. int GESAMTPUNKTE_B(int b1, int b2, int b3);
  29.  
  30. //Prüfung, ob jeweiliger Prüfungsteil bestanden
  31. int PRUEFUNG_A(int a1, int a2, int gesamtpunkte);
  32. int PRUEFUNG_B(int b1, int b2, int b3, int gesamtpunkte);
  33.  
  34. int GESAMT_ERGEBNIS(int a, int b);
  35. int ENDNOTE(int gesa, int gesb);
  36.  
  37. int main()
  38. {
  39. int aufga1=0, aufga2=0, aufgb1=0, aufgb2=0, aufgb3=0;
  40. int gesamta=0, gesamtb=0;
  41. int apass=0, bpass=0, totalpass=0;
  42. int note=0;
  43.  
  44. aufga1=AUFGABE_A1();
  45. aufga2=AUFGABE_A2();
  46. aufgb1=AUFGABE_B1();
  47. aufgb2=AUFGABE_B2();
  48. aufgb3=AUFGABE_B3();
  49.  
  50. gesamta=GESAMTPUNKTE_A(aufga1,aufga2);
  51. gesamtb=GESAMTPUNKTE_B(aufgb1,aufgb2,aufgb3);
  52.  
  53. printf("\nGesamtpunkte des Aufgabenteils A: %i", gesamta);
  54. printf("\nGesamtpunkte des Aufgabenteils B: %i", gesamtb);
  55.  
  56. apass=PRUEFUNG_A(aufga1,aufga2,gesamta);
  57. bpass=PRUEFUNG_B(aufgb1,aufgb2,aufgb3,gesamtb);
  58. totalpass=GESAMT_ERGEBNIS(apass,bpass);
  59. note=ENDNOTE(gesamta,gesamtb);
  60. printf("\nNote: %i\n\n\n", note);
  61.  
  62. return 0;
  63. }
  64.  
  65. int AUFGABE_A1(){
  66. int a1=0;
  67. printf("\nPunktzahl Pruefungsteil A, Aufgabe 1: ");
  68. scanf("%i", &a1);
  69. return(a1);
  70. }
  71. int AUFGABE_A2(){
  72. int a2=0;
  73. printf("\nPunktzahl Pruefungsteil A, Aufgabe 2: ");
  74. scanf("%i", &a2);
  75. return(a2);
  76. }
  77. int AUFGABE_B1(){
  78. int b1=0;
  79. printf("\nPunktzahl Pruefungsteil B, Aufgabe 1: ");
  80. scanf("%i", &b1);
  81. return(b1);
  82. }
  83. int AUFGABE_B2(){
  84. int b2=0;
  85. printf("\nPunktzahl Pruefungsteil B, Aufgabe 2: ");
  86. scanf("%i", &b2);
  87. return(b2);
  88. }
  89. int AUFGABE_B3(){
  90. int b3=0;
  91. printf("\nPunktzahl Pruefungsteil B, Aufgabe 3: ");
  92. scanf("%i", &b3);
  93. return(b3);
  94. }
  95. int GESAMTPUNKTE_A(int a1,int a2){
  96. int gesamtpunkte=0;
  97. gesamtpunkte=(a1*0.5)+(a2*0.5);
  98. return(gesamtpunkte);
  99. }
  100. int GESAMTPUNKTE_B(int b1,int b2, int b3){
  101. int gesamtpunkte=0;
  102. gesamtpunkte=(b1*0.4)+(b2*0.4)+(b3*0.2);
  103. return(gesamtpunkte);
  104. }
  105. int PRUEFUNG_A(int a1, int a2, int gesamtpunkte){
  106. int ergebnis=0;
  107. if(a1>29 && a2>29){
  108. if(gesamtpunkte>49){
  109. printf("\nPruefungsteil A bestanden!");
  110. ergebnis=1;
  111. return(ergebnis);
  112. }
  113. }else{
  114. printf("\nPruefungsteil A nicht bestanden. Viel Erfolg beim naechsten Versuch!");
  115. ergebnis=0;
  116. return(ergebnis);
  117. }
  118. }
  119. int PRUEFUNG_B(int b1, int b2, int b3, int gesamtpunkte){
  120. int ergebnis=0;
  121. if(b1>29 && b2>29 && b3>29){
  122. if(gesamtpunkte>49){
  123. printf("\nPruefungsteil B bestanden!\n");
  124. ergebnis=1;
  125. return(ergebnis);
  126. }
  127. }else{
  128. printf("\nPruefungsteil B nicht bestanden. Viel Erfolg beim naechsten Versuch!\n");
  129. ergebnis=0;
  130. return(ergebnis);
  131. }
  132. }
  133. int GESAMT_ERGEBNIS(int a, int b){
  134. if(a==1 && b==1){
  135. printf("\nPruefung insgesamt bestanden");
  136. } else{
  137. printf("\nPruefung insgesamt nicht bestanden");
  138. }
  139. }
  140. int ENDNOTE(int gesa, int gesb){
  141. float endpunktzahl=0;
  142. int endnote=0;
  143.  
  144. endpunktzahl=(gesa*0.5) + (gesb*0.5);
  145.  
  146. if (endpunktzahl>=92 && endpunktzahl<101){
  147. endnote=1;
  148. return(endnote);
  149. }
  150. else if (endpunktzahl>=81 && endpunktzahl<92){
  151. endnote=2;
  152. return(endnote);
  153. }
  154. else if (endpunktzahl>=67 && endpunktzahl<81){
  155. endnote=3;
  156. return(endnote);
  157. }
  158. else if (endpunktzahl>=50 && endpunktzahl<67){
  159. endnote=4;
  160. return(endnote);
  161. }
  162. else if (endpunktzahl>=30 && endpunktzahl<50){
  163. endnote=5;
  164. return(endnote);
  165. }
  166. else if (endpunktzahl>=0 && endpunktzahl<30){
  167. endnote=6;
  168. return(endnote);
  169. }
  170. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement