Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Autor: René Thal
- Zweck: Auskunft, ob Prüfung insgesamt bestanden oder nicht
- Datum 25.01.2020
- Prüfung besteht den Teilen A und B, gegliedert in A.1, A.2 sowie B.1, B.2 und B.3
- Ist in einem Teil (A oder B) Gesamtpunktzahl<50, gilt dieser Prüfungsteil als nicht bestanden
- Wenn Teil B Gesamtpunktzahl<50 gilt dies als nicht bestanden und muss wiederholt werden
- Wenn Teil B eine oder zwei Teilprüfung mangelhaft, besteht möglichkeit der mündl. Nachprüfung
- Die Note wird dann 1:2 mit der Note aus der schriftl. Prüfung verrechnet
- Mit dieser neuen Note wird dann diee Gesamtnote Teil B neu berechnet.
- Wird eine Teilaufgabe mit Ungenügend abgeschlossen, so gilt dieser Prüfungsteil als fehlgeschlagen
- Man kann die Prüfung insgesamt 2 Mal wiederholen
- */
- #include <stdio.h>
- #include <stdlib.h>
- //Eingaben der Ergebnisse des Anwenders
- int AUFGABE_A1();
- int AUFGABE_A2();
- int AUFGABE_B1();
- int AUFGABE_B2();
- int AUFGABE_B3();
- //Berechnung der Gesamtpunktzahl des jeweiligen Prüfungsteils
- int GESAMTPUNKTE_A(int a1, int a2);
- int GESAMTPUNKTE_B(int b1, int b2, int b3);
- //Prüfung, ob jeweiliger Prüfungsteil bestanden
- int PRUEFUNG_A(int a1, int a2, int gesamtpunkte);
- int PRUEFUNG_B(int b1, int b2, int b3, int gesamtpunkte);
- int GESAMT_ERGEBNIS(int a, int b);
- int ENDNOTE(int gesa, int gesb);
- int main()
- {
- int aufga1=0, aufga2=0, aufgb1=0, aufgb2=0, aufgb3=0;
- int gesamta=0, gesamtb=0;
- int apass=0, bpass=0, totalpass=0;
- int note=0;
- aufga1=AUFGABE_A1();
- aufga2=AUFGABE_A2();
- aufgb1=AUFGABE_B1();
- aufgb2=AUFGABE_B2();
- aufgb3=AUFGABE_B3();
- gesamta=GESAMTPUNKTE_A(aufga1,aufga2);
- gesamtb=GESAMTPUNKTE_B(aufgb1,aufgb2,aufgb3);
- printf("\nGesamtpunkte des Aufgabenteils A: %i", gesamta);
- printf("\nGesamtpunkte des Aufgabenteils B: %i", gesamtb);
- apass=PRUEFUNG_A(aufga1,aufga2,gesamta);
- bpass=PRUEFUNG_B(aufgb1,aufgb2,aufgb3,gesamtb);
- totalpass=GESAMT_ERGEBNIS(apass,bpass);
- note=ENDNOTE(gesamta,gesamtb);
- printf("\nNote: %i\n\n\n", note);
- return 0;
- }
- int AUFGABE_A1(){
- int a1=0;
- printf("\nPunktzahl Pruefungsteil A, Aufgabe 1: ");
- scanf("%i", &a1);
- return(a1);
- }
- int AUFGABE_A2(){
- int a2=0;
- printf("\nPunktzahl Pruefungsteil A, Aufgabe 2: ");
- scanf("%i", &a2);
- return(a2);
- }
- int AUFGABE_B1(){
- int b1=0;
- printf("\nPunktzahl Pruefungsteil B, Aufgabe 1: ");
- scanf("%i", &b1);
- return(b1);
- }
- int AUFGABE_B2(){
- int b2=0;
- printf("\nPunktzahl Pruefungsteil B, Aufgabe 2: ");
- scanf("%i", &b2);
- return(b2);
- }
- int AUFGABE_B3(){
- int b3=0;
- printf("\nPunktzahl Pruefungsteil B, Aufgabe 3: ");
- scanf("%i", &b3);
- return(b3);
- }
- int GESAMTPUNKTE_A(int a1,int a2){
- int gesamtpunkte=0;
- gesamtpunkte=(a1*0.5)+(a2*0.5);
- return(gesamtpunkte);
- }
- int GESAMTPUNKTE_B(int b1,int b2, int b3){
- int gesamtpunkte=0;
- gesamtpunkte=(b1*0.4)+(b2*0.4)+(b3*0.2);
- return(gesamtpunkte);
- }
- int PRUEFUNG_A(int a1, int a2, int gesamtpunkte){
- int ergebnis=0;
- if(a1>29 && a2>29){
- if(gesamtpunkte>49){
- printf("\nPruefungsteil A bestanden!");
- ergebnis=1;
- return(ergebnis);
- }
- }else{
- printf("\nPruefungsteil A nicht bestanden. Viel Erfolg beim naechsten Versuch!");
- ergebnis=0;
- return(ergebnis);
- }
- }
- int PRUEFUNG_B(int b1, int b2, int b3, int gesamtpunkte){
- int ergebnis=0;
- if(b1>29 && b2>29 && b3>29){
- if(gesamtpunkte>49){
- printf("\nPruefungsteil B bestanden!\n");
- ergebnis=1;
- return(ergebnis);
- }
- }else{
- printf("\nPruefungsteil B nicht bestanden. Viel Erfolg beim naechsten Versuch!\n");
- ergebnis=0;
- return(ergebnis);
- }
- }
- int GESAMT_ERGEBNIS(int a, int b){
- if(a==1 && b==1){
- printf("\nPruefung insgesamt bestanden");
- } else{
- printf("\nPruefung insgesamt nicht bestanden");
- }
- }
- int ENDNOTE(int gesa, int gesb){
- float endpunktzahl=0;
- int endnote=0;
- endpunktzahl=(gesa*0.5) + (gesb*0.5);
- if (endpunktzahl>=92 && endpunktzahl<101){
- endnote=1;
- return(endnote);
- }
- else if (endpunktzahl>=81 && endpunktzahl<92){
- endnote=2;
- return(endnote);
- }
- else if (endpunktzahl>=67 && endpunktzahl<81){
- endnote=3;
- return(endnote);
- }
- else if (endpunktzahl>=50 && endpunktzahl<67){
- endnote=4;
- return(endnote);
- }
- else if (endpunktzahl>=30 && endpunktzahl<50){
- endnote=5;
- return(endnote);
- }
- else if (endpunktzahl>=0 && endpunktzahl<30){
- endnote=6;
- return(endnote);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement