|
@ -63,23 +63,28 @@ char generiereZufallsOperator() { |
|
|
return operatoren[index]; |
|
|
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); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|