diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index 0e060c4..74c0c34 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -63,23 +63,28 @@ char generiereZufallsOperator() { return operatoren[index]; } -//20 -int berechneErgebnis(int zahl1, int zahl2, char operator) { - switch (operator) { - case '+': - return addiere(zahl1, zahl2); - case '-': - return subtrahiere(zahl1, zahl2); - case '*': - return multipliziere(zahl1, zahl2); - case '/': - return dividiere(zahl1, zahl2); - default: - return 0; - } -} +//21 +void spieleRunde(int schwierigkeitsgrad) { + int punkte = 0; + int anzahlAufgaben = 5; + zeigeAuswahl("Berechne die folgenden Aufgaben:"); + + for (int i = 0; i < anzahlAufgaben; i++) { + int zahl1 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + int zahl2 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + char operator = generiereZufallsOperator(); + if (operator == '/' && zahl2 == 0) { + zahl2 = generiereZufallszahl(1 * schwierigkeitsgrad, 10 * schwierigkeitsgrad); + } + int ergebnis = berechneErgebnis(zahl1, zahl2, operator); + printf("Aufgabe %d: %d %c %d\n", i + 1, zahl1, operator, zahl2); + int spielerAntwort = holeSpielerAntwort(); + bewerteAntwort(spielerAntwort, ergebnis, &punkte); + } + zeigeRundenEnde(punkte); +}