From 0095775e7375385b1104f563a7068cdb9409f0b8 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 15 Oct 2026 20:54:01 +0300 Subject: [PATCH] =?UTF-8?q?Kleine=20Ver=C3=A4nderung=20am=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Startcode/input.c | 59 +++++++++++++++++++++++++++-------------------- Startcode/main.c | 17 ++++++++++---- 2 files changed, 46 insertions(+), 30 deletions(-) diff --git a/Startcode/input.c b/Startcode/input.c index 659a298..cd4c54c 100644 --- a/Startcode/input.c +++ b/Startcode/input.c @@ -37,35 +37,44 @@ int readWords(FILE *file, char words[][MAX_WORD_LEN], unsigned int maxWordCount) if(fptr != NULL) { - /*Bis man bis zum letzten Platz in der Zeile eintragen kann*/ - while(*fptr != '\0' && count < maxWordCount) - { - while(*fptr == '\n' || *fptr == ',' || *fptr == ';' || *fptr == ' ' || *fptr == '\t' || *fptr == '\r') + while(*fptr != '\0' && count < maxWordCount) { - fptr++; - } - - if(*fptr == '\0') break; /*Das wuerde heissen, dass man - schon ueber den letzten Element durchgelaufen hat.*/ - - - int char_Index = 0; - while(*fptr != '\n' && *fptr != ',' && *fptr != ';' && *fptr != ' ' && *fptr != '\t' && *fptr != '\0') - { - if (char_Index < MAX_WORD_LEN - 1) { - words[count][char_Index] = *fptr; - char_Index++; - /*char_Index++ = naechste Spalte*/ + while(*fptr == '\n' || *fptr == ',' || *fptr == ';' || *fptr == ' ' || *fptr == '\t' || *fptr == '\r') + { + fptr++; } - fptr++; - /*geht auf die naechste Addresse.*/ - } - /*Wir schliessen das Wort ab mit einem Null-Terminator.*/ - words[count][char_Index] = '\0'; - count++; /*naechste Zeile*/ + if(*fptr == '\0') break; /*Das wuerde heissen, dass man + schon ueber den letzten Element durchgelaufen hat.*/ + + + int char_Index = 0; + while(*fptr != '\n' && *fptr != ',' && *fptr != ';' && *fptr != ' ' && *fptr != '\t' && *fptr != '\0') + { + if (char_Index < MAX_WORD_LEN - 1) { + words[count][char_Index] = *fptr; + char_Index++; + /*char_Index++ = naechste Spalte*/ + } + fptr++; + /*geht auf die naechste Addresse.*/ + + /*falls man raus aus dieser Schleife geht, heisst das, dass man + ein Wort eingelesen hat, da die oben in der Schleife benannten Characters + genau diejenige sind, die die Woerter trennen.*/ + } + + while (char_Index < MAX_WORD_LEN) + { + words[count][char_Index] = '\0'; + char_Index++; + } + /*Wir fuellen den Rest der Zeile mit \0, falls es noch + uebrigen Platz gibt (weniger Buchstaben eingelesen als es Raum in der Zeile gibt.)*/ + + count++; + } } -} return count; } \ No newline at end of file diff --git a/Startcode/main.c b/Startcode/main.c index 462e39a..f1281b5 100644 --- a/Startcode/main.c +++ b/Startcode/main.c @@ -38,12 +38,19 @@ int main(int argc, char *argv[]) // Create the word salad by placing words into grid placedWords = createWordSalad(wordSalad, SALAD_SIZE, words, wordCount); - // TODO: - // Check if all words were successfully placed - // Start the game if successful - // error message if some words couldn't be placed - + + if (placedWords == wordCount) // Prueft, ob alle Woerter platziert wurden. + { + printf("Alle %u Woerter wurden platziert!\n", placedWords); // Gibt eine Erfolgsmeldung aus. + startGame(wordSalad, SALAD_SIZE, words, wordCount, WINDOW_WIDTH); // Startet das grafische Wortsalat-Spiel. + } + else // Wird ausgefuehrt, wenn nicht alle Woerter platziert wurden. + { + fprintf(stderr, "Nur %u von %u Woertern platziert!\n", placedWords, wordCount); // Gibt eine Fehlermeldung aus. + exitCode = EXIT_FAILURE; // Kennzeichnet das Programm als fehlgeschlagen. + } } + else { // Print error message if file couldn't be opened