From 63a7f32da59783feca15b2c859af11a1be21ce7f Mon Sep 17 00:00:00 2001 From: fdai7731 Date: Thu, 8 Feb 2024 01:53:49 +0100 Subject: [PATCH] include lib --- src/main/c/Mathe.c | 193 --------------------------------------------- src/main/c/Mathe.h | 11 +++ 2 files changed, 11 insertions(+), 193 deletions(-) create mode 100644 src/main/c/Mathe.h diff --git a/src/main/c/Mathe.c b/src/main/c/Mathe.c index d172f55..2a36dd9 100644 --- a/src/main/c/Mathe.c +++ b/src/main/c/Mathe.c @@ -4,200 +4,7 @@ #include #include "Mathe.h" -//2 -void initialisiereZufallsgenerator(); -//3 -int generiereZufallszahl(int min, int max); -//4 -char generiereZufallsOperator(); - - -//5 -int addiere(int zahl1, int zahl2); - - -//6 -int subtrahiere(int zahl1, int zahl2); - - -//7 -int multipliziere(int zahl1, int zahl2); - - -//8 -int dividiere(int zahl1, int zahl2); - - -//9 -int berechneErgebnis(int zahl1, int zahl2, char operator); - - -//10 -void spieleRunde(int schwierigkeitsgrad); - - -//11 -void zeigeAnleitung(); - - -//12 -void zeigeHighscore(int punkte); - - -//13 -int holeSpielerAntwort(); - - -//14 -void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte); - - -//15 -void zeigeRundenEnde(int punkte); - - -//16 -void zeigeAuswahl(const char* text); - - -//17 -void initialisiereZufallsgenerator() { - srand(time(NULL)); - - -//18 -int generiereZufallszahl(int min, int max) { - return min + (int)((double)rand() / (RAND_MAX + 1) * (max - min + 1)); - - -//19 -char generiereZufallsOperator() { - char operatoren[] = {'+', '-', '*', '/'}; - int index = rand() % 4; - 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); -} - - - -//22 -void zeigeAnleitung() { - printf("\n=== Anleitung ===\n"); - printf("Beantworte die mathematischen Aufgaben, um Punkte zu sammeln.\n"); - printf("Du kannst zwischen verschiedenen Schwierigkeitsgraden wählen.\n"); - printf("Versuche so viele Aufgaben wie möglich korrekt zu lösen!\n"); - - - -//23 -void zeigeHighscore(int punkte) { - printf("\n=== Highscore ===\n"); - printf("Dein aktueller Highscore ist: %d Punkte\n", punkte); - - - -//24 -int holeSpielerAntwort() { - int spielerAntwort; - zeigeAuswahl("Deine Antwort: "); - scanf("%d", &spielerAntwort); - return spielerAntwort; - - - -//25 -void bewerteAntwort(int spielerAntwort, int ergebnis, int* punkte) { - if (spielerAntwort == ergebnis) { - printf("Richtig! Du erhältst einen Punkt.\n"); - (*punkte)++; - } else { - printf("Falsch! Die richtige Antwort ist %d\n", ergebnis); - } -} - - - -//26 -void zeigeRundenEnde(int punkte) { - printf("Runde beendet. Du hast insgesamt %d Punkte erreicht.\n", punkte); - - - -//27 -int addiere(int zahl1, int zahl2) { - return zahl1 + zahl2; - - - -//28 -int subtrahiere(int zahl1, int zahl2) { - return zahl1 - zahl2; - - - -//29 -int multipliziere(int zahl1, int zahl2) { - return zahl1 * zahl2; - - - -//30 -int dividiere(int zahl1, int zahl2) { - if (zahl2 != 0) { - return zahl1 / zahl2; - } else { - printf("Fehler: Division durch Null vermieden.\n"); - return 0; - } -} - - - -//31 -void zeigeAuswahl(const char* text) { - printf("%s\n", text); -} - diff --git a/src/main/c/Mathe.h b/src/main/c/Mathe.h new file mode 100644 index 0000000..733bfca --- /dev/null +++ b/src/main/c/Mathe.h @@ -0,0 +1,11 @@ +#ifndef TEST_H +#define TEST_H +int berechneErgebnis(int zahl1, int zahl2, char operator); +int generiereZufallszahl(int min, int max); +int multipliziere(int zahl1, int zahl2); +int dividiere(int zahl1, int zahl2); +int addiere(int zahl1, int zahl2); +int subtrahiere(int zahl1, int zahl2); +int multipliziere(int zahl1, int zahl2); +char generiereZufallsOperator(); +#endif // MATHEMATIKSPIEL_H \ No newline at end of file