From 792d4c09b17876ee0538284ec64c84b75a54eda3 Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 02:13:11 +0100 Subject: [PATCH] function spieleRunde --- src/main/c/Mathe.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) 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); +}