From 5c507763782fed8e0ecd4c015e9966faea8bdd05 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 08:24:13 +0100 Subject: [PATCH 01/43] Einbinden der Dateien --- .gitignore | 1 + src/main/c/Jason/ASCII_art.c | 8 ++++++++ src/main/c/Jason/ASCII_art.h | 9 +++++++++ src/main/c/main.c | 12 +++++++----- src/test/c/Jason/test_ASCII_art.c | 10 ++++++++++ 5 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 src/main/c/Jason/ASCII_art.c create mode 100644 src/main/c/Jason/ASCII_art.h create mode 100644 src/test/c/Jason/test_ASCII_art.c diff --git a/.gitignore b/.gitignore index 7742e1d..ee97b74 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ cmake-build-debug past CMakeLists.txt toDo.md +.DS_Store # Prerequisites *.d diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c new file mode 100644 index 0000000..1a09f0f --- /dev/null +++ b/src/main/c/Jason/ASCII_art.c @@ -0,0 +1,8 @@ +#include "ASCII_art.h" +#include + +int ASCII_Art(){ + + + return 0; +} \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h new file mode 100644 index 0000000..f726a3f --- /dev/null +++ b/src/main/c/Jason/ASCII_art.h @@ -0,0 +1,9 @@ +#ifndef ASCII_ART_H +#define ASCII_ART_H + +int ASCII_Art(); + + + + +#endif diff --git a/src/main/c/main.c b/src/main/c/main.c index 4dc37a9..6036ea8 100644 --- a/src/main/c/main.c +++ b/src/main/c/main.c @@ -14,6 +14,7 @@ #include "SchereSteinPapier.h" #include "hangman.h" #include "tictactoe.h" +#include "ASCII_art.h" void openInterface(); @@ -35,9 +36,10 @@ void openInterface() "Du hast folgende Spiele zur Auswahl:\n\n" "1: Schere-Stein-Papier\n" "2: Hangman\n" - "3: TicTacToe\n"); + "3: TicTacToe\n" + "5: ASCII - Art\n"); printf("\nBitte waehle die Zahl des entsprechenden Spiels aus, um damit zu starten.\nAm Ende eines Spiels kannst du mit der Taste 0 wieder zurueck zum Hauptmenue kommen.\nIm Hauptmenue beendest du mit der Auswahl 0 das Programm \n\n"); - scanf_s("%d", &selection); + scanf("%d", &selection); //todo @@ -55,11 +57,11 @@ void openInterface() startTicTacToe(); break; /*case(4): - //Spiel() - break; - case(5): //Spiel() break;*/ + case(5): + ASCII_Art(); + break; default: break; } diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c new file mode 100644 index 0000000..f435a6b --- /dev/null +++ b/src/test/c/Jason/test_ASCII_art.c @@ -0,0 +1,10 @@ +#include "unity.h" +#include "ASCII_art.h" + +void setup (void){ + +} + +void tearDown(void){ + +} From 8965a5c8b549b0d5ac38ab3cd5ac44a66f0f1b96 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 08:45:54 +0100 Subject: [PATCH 02/43] Wilkommensnachricht und Auswahl eingebaut --- src/main/c/Jason/ASCII_art.c | 12 ++++++++++++ src/main/c/Jason/ASCII_art.h | 1 + src/test/c/Jason/test_ASCII_art.c | 1 + 3 files changed, 14 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 1a09f0f..191c3ef 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -3,6 +3,18 @@ int ASCII_Art(){ + printWelcomeMessage(); + int auswahl; + scanf("%d", &auswahl); + return 0; +} + +int printWelcomeMessage(){ + printf("Willkommen bei ASCII-Art!\n"); + printf("Wählen Sie aus welche ASCII-Art Sie sehen wollen!\n"); + printf("(1) Quadrat\n"); + +return 0; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index f726a3f..e7163cc 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -2,6 +2,7 @@ #define ASCII_ART_H int ASCII_Art(); +int printWelcomeMessage(); diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index f435a6b..07b8516 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -8,3 +8,4 @@ void setup (void){ void tearDown(void){ } + From 541eecb8b1513309d92a638886d49c75923f76d8 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 09:03:44 +0100 Subject: [PATCH 03/43] =?UTF-8?q?Test=20f=C3=BCr=20Willkommensnachricht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/c/Jason/test_ASCII_art.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index 07b8516..4b7c273 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -1,7 +1,7 @@ #include "unity.h" #include "ASCII_art.h" -void setup (void){ +void setUp (void){ } @@ -9,3 +9,13 @@ void tearDown(void){ } +void test_doesWelcomeMessageWork(){ + //arrange + int expectedResult = 0; + + //act + int actualResult = printWelcomeMessage(); + //assert + + TEST_ASSERT_EQUAL_INT(expectedResult,actualResult); +} \ No newline at end of file From df717a0f196b11929ca89f7b395981b6affbf4a0 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 09:21:44 +0100 Subject: [PATCH 04/43] Auswahl mit switch case realisiert --- src/main/c/Jason/ASCII_art.c | 15 +++++++++++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 191c3ef..babbf1a 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -6,6 +6,7 @@ int ASCII_Art(){ printWelcomeMessage(); int auswahl; scanf("%d", &auswahl); + auswahlDerArt(auswahl); return 0; @@ -17,4 +18,18 @@ int printWelcomeMessage(){ printf("(1) Quadrat\n"); return 0; +} + +void auswahlDerArt(int pick){ + switch (pick) { + case (1): + + break; + case (2): + + break; + + default: + break; + } } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index e7163cc..c306f98 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -3,6 +3,7 @@ int ASCII_Art(); int printWelcomeMessage(); +void auswahlDerArt(int); From 71701798a562e39e916da2092eabe0e80371841f Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 12:23:58 +0100 Subject: [PATCH 05/43] =?UTF-8?q?quadrat=20funktion=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 8 +++++++- src/main/c/Jason/ASCII_art.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index babbf1a..ca7a7e2 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -10,6 +10,12 @@ int ASCII_Art(){ return 0; +} + +void quadrat(){ + + + } int printWelcomeMessage(){ @@ -23,7 +29,7 @@ return 0; void auswahlDerArt(int pick){ switch (pick) { case (1): - + quadrat(); break; case (2): diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index c306f98..428fe93 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -4,7 +4,7 @@ int ASCII_Art(); int printWelcomeMessage(); void auswahlDerArt(int); - +void quadrat(); From 42bf13918ec9d889b725c71f8fbcc6bc02fa97db Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 12:43:27 +0100 Subject: [PATCH 06/43] =?UTF-8?q?Abfrage=20nach=20Werten=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 8 ++++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index ca7a7e2..1892db5 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -14,6 +14,8 @@ int ASCII_Art(){ void quadrat(){ + frageNachGroesse(); + } @@ -38,4 +40,10 @@ void auswahlDerArt(int pick){ default: break; } +} + +int frageNachGroesse(){ + printf("Sie haben ausgewählt, dass sie ein Quadrat sehen möchten!\n"); + printf("Geben Sie ein wie lang die Seiten des Quadrats sein sollen:"); + return 0; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 428fe93..17d2d79 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -5,6 +5,7 @@ int ASCII_Art(); int printWelcomeMessage(); void auswahlDerArt(int); void quadrat(); +int frageNachGroesse(); From 5cbbc4131b26ecc5ed41355742d1e4c05f34c36a Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 12:55:38 +0100 Subject: [PATCH 07/43] Test ob Aufruf funktioniert --- src/test/c/Jason/test_ASCII_art.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index 4b7c273..3ce1a4c 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -9,7 +9,7 @@ void tearDown(void){ } -void test_doesWelcomeMessageWork(){ +void test_doesWelcomeMessageWork() { //arrange int expectedResult = 0; @@ -17,5 +17,16 @@ void test_doesWelcomeMessageWork(){ int actualResult = printWelcomeMessage(); //assert - TEST_ASSERT_EQUAL_INT(expectedResult,actualResult); + TEST_ASSERT_EQUAL_INT(expectedResult, actualResult); +} + +void test_funktioniertDieAbfrageDerGroesse() { + //arrange + int expectedResult = 0; + + //act + int actualResult = frageNachGroesse(); + //assert + + TEST_ASSERT_EQUAL_INT(expectedResult, actualResult); } \ No newline at end of file From e5c0580288f95ec25d2aad51c7cb9c417500cf71 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 13:45:42 +0100 Subject: [PATCH 08/43] Berechnung zur Array Groesse --- src/main/c/Jason/ASCII_art.c | 16 ++++++++++++++-- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 1892db5..2ed764b 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -1,5 +1,6 @@ #include "ASCII_art.h" #include +#include int ASCII_Art(){ @@ -15,8 +16,10 @@ int ASCII_Art(){ void quadrat(){ frageNachGroesse(); - - + int groesse; + scanf("%d", &groesse); + int arraySize = berechnungDerLaengeDesQuadratArrays(groesse); + } @@ -46,4 +49,13 @@ int frageNachGroesse(){ printf("Sie haben ausgewählt, dass sie ein Quadrat sehen möchten!\n"); printf("Geben Sie ein wie lang die Seiten des Quadrats sein sollen:"); return 0; +} + +int berechnungDerLaengeDesQuadratArrays(int anzahlDerX){ + + int ArraygroesseDesQuadrats; + ArraygroesseDesQuadrats = 2 * anzahlDerX * anzahlDerX; + // länge des Arrays für ein Quadrat + + return ArraygroesseDesQuadrats; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 17d2d79..97091a3 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -6,6 +6,7 @@ int printWelcomeMessage(); void auswahlDerArt(int); void quadrat(); int frageNachGroesse(); +int berechnungDerLaengeDesQuadratArrays(int); From d2dec64fc8db7390527eb99b5523eb8c52a7043e Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Tue, 30 Jan 2024 13:48:45 +0100 Subject: [PATCH 09/43] test zur korrekten Berechnung --- src/test/c/Jason/test_ASCII_art.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index 3ce1a4c..3402698 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -28,5 +28,16 @@ void test_funktioniertDieAbfrageDerGroesse() { int actualResult = frageNachGroesse(); //assert + TEST_ASSERT_EQUAL_INT(expectedResult, actualResult); +} + +void test_korrekteBerechnungDerArrayGroesse() { + //arrange + int expectedResult = 200; + + //act + int actualResult = berechnungDerLaengeDesQuadratArrays(10); + //assert + TEST_ASSERT_EQUAL_INT(expectedResult, actualResult); } \ No newline at end of file From 2c6bf4e0523d6fad437171958df340bfa5ecab18 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 13:57:47 +0100 Subject: [PATCH 10/43] =?UTF-8?q?Anlegen=20des=20Arrays=20und=20bef=C3=BCl?= =?UTF-8?q?len=20davon=20mit=20X?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 15 ++++++++++++--- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 2ed764b..d13f3a3 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -1,6 +1,5 @@ #include "ASCII_art.h" #include -#include int ASCII_Art(){ @@ -19,7 +18,9 @@ void quadrat(){ int groesse; scanf("%d", &groesse); int arraySize = berechnungDerLaengeDesQuadratArrays(groesse); - + char Quadrat[arraySize]; + befuellenDesArraysMitX(Quadrat, arraySize); + } @@ -34,7 +35,7 @@ return 0; void auswahlDerArt(int pick){ switch (pick) { case (1): - quadrat(); + return quadrat(); break; case (2): @@ -58,4 +59,12 @@ int berechnungDerLaengeDesQuadratArrays(int anzahlDerX){ // länge des Arrays für ein Quadrat return ArraygroesseDesQuadrats; +} + +void befuellenDesArraysMitX(char quadraT[], int laenge){ + + for (int i = 0; i < laenge; i++){ + quadraT[i] = 'X'; + } + quadraT[laenge-1] = '\0'; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 97091a3..cdb89dd 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -7,6 +7,7 @@ void auswahlDerArt(int); void quadrat(); int frageNachGroesse(); int berechnungDerLaengeDesQuadratArrays(int); +void befuellenDesArraysMitX(char[], int); From 25a4e4fb48c5a531b888f0b136ad3c6978578218 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 14:01:02 +0100 Subject: [PATCH 11/43] =?UTF-8?q?Test=20ob=20korrekt=20bef=C3=BCllt=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/c/Jason/test_ASCII_art.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index 3402698..5edde35 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -40,4 +40,17 @@ void test_korrekteBerechnungDerArrayGroesse() { //assert TEST_ASSERT_EQUAL_INT(expectedResult, actualResult); +} + +void test_stringAbgleich(void){ + // arrange + char expectedMessage[] = "XXXXXXX"; + + // act + char message[9]; + befuellenDesArraysMitX(message, 8); + + + // assert + TEST_ASSERT_EQUAL_STRING(expectedMessage, message); } \ No newline at end of file From c415495cb5a38876d2a6ee995073a700252c0d19 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 14:25:28 +0100 Subject: [PATCH 12/43] =?UTF-8?q?Bef=C3=BCllen=20des=20Arrays=20an=20jeder?= =?UTF-8?q?=202.=20Stelle=20mit=20Leerzeichen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 15 +++++++++++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index d13f3a3..d557b88 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -20,6 +20,8 @@ void quadrat(){ int arraySize = berechnungDerLaengeDesQuadratArrays(groesse); char Quadrat[arraySize]; befuellenDesArraysMitX(Quadrat, arraySize); + befuelleArrayMitLeerzeichen(Quadrat, arraySize); + } @@ -67,4 +69,17 @@ void befuellenDesArraysMitX(char quadraT[], int laenge){ quadraT[i] = 'X'; } quadraT[laenge-1] = '\0'; + +} + +void befuelleArrayMitLeerzeichen(char quadraT[], int laenge){ + + + for (int i = 0; i < laenge; i++){ + if(i % 2 != 0){ + quadraT[i] = ' '; + } + + } + quadraT[laenge-1] = '\0'; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index cdb89dd..61dca6a 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -8,6 +8,7 @@ void quadrat(); int frageNachGroesse(); int berechnungDerLaengeDesQuadratArrays(int); void befuellenDesArraysMitX(char[], int); +void befuelleArrayMitLeerzeichen(char[],int); From 9ff6833eea10c2234df50c967dc10838f3a97c9e Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 15:07:55 +0100 Subject: [PATCH 13/43] Test ob Leerzeichen mit 3er Quadrat korrekt gesetzt werden --- src/test/c/Jason/test_ASCII_art.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index 5edde35..276e667 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -51,6 +51,20 @@ void test_stringAbgleich(void){ befuellenDesArraysMitX(message, 8); + // assert + TEST_ASSERT_EQUAL_STRING(expectedMessage, message); +} + +void test_stringAbgleichMitLeerzeichen(void){ + // arrange + char expectedMessage[] = "X X X X X X X X X"; + + // act + char message[19]; + befuellenDesArraysMitX(message, 18); + befuelleArrayMitLeerzeichen(message, 18); + + // assert TEST_ASSERT_EQUAL_STRING(expectedMessage, message); } \ No newline at end of file From 69e6c66704ef549349ace4fbb24693624577d134 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 15:21:35 +0100 Subject: [PATCH 14/43] =?UTF-8?q?Zeilenumbr=C3=BCche=20in=20Array=20eingeb?= =?UTF-8?q?aut=20und=20print=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 20 ++++++++++++++++---- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index d557b88..ea8f6fe 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -21,8 +21,9 @@ void quadrat(){ char Quadrat[arraySize]; befuellenDesArraysMitX(Quadrat, arraySize); befuelleArrayMitLeerzeichen(Quadrat, arraySize); + befuelleArrayMitZeilenumbruechen(Quadrat,groesse); - + printf("\n%s", Quadrat); } @@ -37,7 +38,7 @@ return 0; void auswahlDerArt(int pick){ switch (pick) { case (1): - return quadrat(); + quadrat(); break; case (2): @@ -79,7 +80,18 @@ void befuelleArrayMitLeerzeichen(char quadraT[], int laenge){ if(i % 2 != 0){ quadraT[i] = ' '; } - } quadraT[laenge-1] = '\0'; -} \ No newline at end of file +} + +void befuelleArrayMitZeilenumbruechen(char quadraT[], int laenge){ + + int zeile = 2 * laenge; + int laengeGesamt = zeile * laenge; + for (int i = 0; i < laengeGesamt; i++){ + if((i + 1) % zeile == 0){ + quadraT[i] = '\n'; + } + } + quadraT[laengeGesamt-1] = '\0'; +} diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 61dca6a..e41f8a0 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -9,6 +9,7 @@ int frageNachGroesse(); int berechnungDerLaengeDesQuadratArrays(int); void befuellenDesArraysMitX(char[], int); void befuelleArrayMitLeerzeichen(char[],int); +void befuelleArrayMitZeilenumbruechen(char[],int); From 1e61cd1da6f9f0a27f7e983b0da6ab9301539ebd Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 15:24:33 +0100 Subject: [PATCH 15/43] =?UTF-8?q?Test=20f=C3=BCr=20Zeilenumbr=C3=BCche=20h?= =?UTF-8?q?inzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/c/Jason/test_ASCII_art.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index 276e667..fb2d6c9 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -65,6 +65,21 @@ void test_stringAbgleichMitLeerzeichen(void){ befuelleArrayMitLeerzeichen(message, 18); + // assert + TEST_ASSERT_EQUAL_STRING(expectedMessage, message); +} + +void test_stringAbgleichMitLeerzeichenUndZeilenumbruch(void){ + // arrange + char expectedMessage[] = "X X X\nX X X\nX X X"; + + // act + char message[19]; + befuellenDesArraysMitX(message, 18); + befuelleArrayMitLeerzeichen(message, 18); + befuelleArrayMitZeilenumbruechen(message, 3); + + // assert TEST_ASSERT_EQUAL_STRING(expectedMessage, message); } \ No newline at end of file From 26d56e915996237f6915c9354ad70cb42ec12819 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 16:00:10 +0100 Subject: [PATCH 16/43] Weihnachtsbaum Funktion angelegt --- src/main/c/Jason/ASCII_art.c | 8 +++++++- src/main/c/Jason/ASCII_art.h | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index ea8f6fe..27f9f66 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -27,10 +27,15 @@ void quadrat(){ } +void weihnachtsbaum(){ + +} + int printWelcomeMessage(){ printf("Willkommen bei ASCII-Art!\n"); printf("Wählen Sie aus welche ASCII-Art Sie sehen wollen!\n"); printf("(1) Quadrat\n"); + printf("(2) Weihnachtsbaum\n"); return 0; } @@ -41,7 +46,7 @@ void auswahlDerArt(int pick){ quadrat(); break; case (2): - + weihnachtsbaum(); break; default: @@ -95,3 +100,4 @@ void befuelleArrayMitZeilenumbruechen(char quadraT[], int laenge){ } quadraT[laengeGesamt-1] = '\0'; } + diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index e41f8a0..6e13610 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -10,7 +10,7 @@ int berechnungDerLaengeDesQuadratArrays(int); void befuellenDesArraysMitX(char[], int); void befuelleArrayMitLeerzeichen(char[],int); void befuelleArrayMitZeilenumbruechen(char[],int); - +void weihnachtsbaum(); #endif From 4d26ff75371844475d5d455b0ba7be5c4e5fdd5b Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 16:11:47 +0100 Subject: [PATCH 17/43] Erfragen wie hoch der Weihnachtsbaum werden soll --- src/main/c/Jason/ASCII_art.c | 7 +++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 27f9f66..e87aba1 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -29,6 +29,7 @@ void quadrat(){ void weihnachtsbaum(){ + abfrageDerHoehe(); } int printWelcomeMessage(){ @@ -101,3 +102,9 @@ void befuelleArrayMitZeilenumbruechen(char quadraT[], int laenge){ quadraT[laengeGesamt-1] = '\0'; } +int abfrageDerHoehe(){ + printf("Sie haben den Weihnachtsbaum ausgewählt!\n"); + printf("Wählen Sie aus wie hoch der Weihnachtsbaum werden soll:"); + + return 0; +} diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 6e13610..4d4808d 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -11,6 +11,7 @@ void befuellenDesArraysMitX(char[], int); void befuelleArrayMitLeerzeichen(char[],int); void befuelleArrayMitZeilenumbruechen(char[],int); void weihnachtsbaum(); +int abfrageDerHoehe(); #endif From f80e3d17ecfc7cd6ec85db0c734ef833f13bd4bd Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Wed, 31 Jan 2024 16:13:48 +0100 Subject: [PATCH 18/43] =?UTF-8?q?Test=20ob=20Erfragung=20durchl=C3=A4uft?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 1 + src/test/c/Jason/test_ASCII_art.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index e87aba1..209700c 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -30,6 +30,7 @@ void quadrat(){ void weihnachtsbaum(){ abfrageDerHoehe(); + } int printWelcomeMessage(){ diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index fb2d6c9..8746052 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -82,4 +82,15 @@ void test_stringAbgleichMitLeerzeichenUndZeilenumbruch(void){ // assert TEST_ASSERT_EQUAL_STRING(expectedMessage, message); +} + +void test_erscheintDieAbfrageFuerWeihnachtsbaum() { + //arrange + int expectedResult = 0; + + //act + int actualResult = abfrageDerHoehe(); + //assert + + TEST_ASSERT_EQUAL_INT(expectedResult, actualResult); } \ No newline at end of file From d751105282c18c2f6fc34d3228ca110ee532c554 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Thu, 1 Feb 2024 13:50:36 +0100 Subject: [PATCH 19/43] =?UTF-8?q?Wert=20einlesen=20und=20Funktion=20f?= =?UTF-8?q?=C3=BCr=20Breite=20berechnen=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 8 ++++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 209700c..220db78 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -30,6 +30,9 @@ void quadrat(){ void weihnachtsbaum(){ abfrageDerHoehe(); + int hoehe; + scanf("%d", &hoehe); + max_breite(hoehe); } @@ -109,3 +112,8 @@ int abfrageDerHoehe(){ return 0; } + +int max_breite(int zeilen){ + + return 0; +} \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 4d4808d..90cfcab 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -12,6 +12,7 @@ void befuelleArrayMitLeerzeichen(char[],int); void befuelleArrayMitZeilenumbruechen(char[],int); void weihnachtsbaum(); int abfrageDerHoehe(); +int max_breite(int); #endif From 943e6d36883b6d257ad86d3770eee3c4bcdf07b7 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Thu, 1 Feb 2024 15:35:48 +0100 Subject: [PATCH 20/43] =?UTF-8?q?Berechnung=20f=C3=BCr=20die=20Breite=20vo?= =?UTF-8?q?m=20Weihnachtsbaumhinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 220db78..2e18cce 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -115,5 +115,7 @@ int abfrageDerHoehe(){ int max_breite(int zeilen){ - return 0; + int maximaleBreiteEinerZeile; + maximaleBreiteEinerZeile = zeilen + (zeilen - 3); + return maximaleBreiteEinerZeile; } \ No newline at end of file From a52ea89772c5f35045dbec0ede34df2c95a8250d Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Thu, 1 Feb 2024 15:37:54 +0100 Subject: [PATCH 21/43] =?UTF-8?q?Test=20auf=20korrekte=20Berechnung=20hinz?= =?UTF-8?q?ugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/c/Jason/test_ASCII_art.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index 8746052..bf29b8b 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -92,5 +92,16 @@ void test_erscheintDieAbfrageFuerWeihnachtsbaum() { int actualResult = abfrageDerHoehe(); //assert + TEST_ASSERT_EQUAL_INT(expectedResult, actualResult); +} + +void test_korrekteBerechnungAufMaximaleBreiteWeihnachtsbaum() { + //arrange + int expectedResult = 9; + + //act + int actualResult = max_breite(6); + //assert + TEST_ASSERT_EQUAL_INT(expectedResult, actualResult); } \ No newline at end of file From 057b4c1bcf569c9d026bbb05652100b812fabf38 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Thu, 1 Feb 2024 15:54:26 +0100 Subject: [PATCH 22/43] Erweiterung der Eingabe mit do while Schleife --- src/main/c/Jason/ASCII_art.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 2e18cce..ee27eaf 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -31,8 +31,17 @@ void weihnachtsbaum(){ abfrageDerHoehe(); int hoehe; - scanf("%d", &hoehe); - max_breite(hoehe); + do{ + + scanf("%d", &hoehe); + if (hoehe < 3){ + printf("\nDer Weihnachtsbaum muss mindestens 3 Zeilen groß sein!\n"); + printf("Bitte geben Sie erneut einen Wert ein der mindestens 3 lautet:"); + } + }while(hoehe < 3); + + int maximaleBreiteDesBaums = max_breite(hoehe); + } From 6955da63bef898b0dc35d7e3a54f107f4bbd30c8 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Thu, 1 Feb 2024 16:22:14 +0100 Subject: [PATCH 23/43] Anpassung des Tests inklusive Berechnung der Breite, Berechnung der Mitte und anlegen des Arrays --- src/main/c/Jason/ASCII_art.c | 13 ++++++++++--- src/main/c/Jason/ASCII_art.h | 1 + src/test/c/Jason/test_ASCII_art.c | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index ee27eaf..fce89f0 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -40,8 +40,9 @@ void weihnachtsbaum(){ } }while(hoehe < 3); - int maximaleBreiteDesBaums = max_breite(hoehe); - + int maxBreiteDesWeihnachtsbaums = max_breite(hoehe); + int mitte_baum = mitteDesBaums(maxBreiteDesWeihnachtsbaums); + char weihnachtsbaum[hoehe * maxBreiteDesWeihnachtsbaums]; } @@ -125,6 +126,12 @@ int abfrageDerHoehe(){ int max_breite(int zeilen){ int maximaleBreiteEinerZeile; - maximaleBreiteEinerZeile = zeilen + (zeilen - 3); + maximaleBreiteEinerZeile = zeilen + (zeilen - 2); return maximaleBreiteEinerZeile; +} + +int mitteDesBaums(int maxBreite){ + + int mitteVonBaum = maxBreite / 2; + return mitteVonBaum; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 90cfcab..f4fe96b 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -13,6 +13,7 @@ void befuelleArrayMitZeilenumbruechen(char[],int); void weihnachtsbaum(); int abfrageDerHoehe(); int max_breite(int); +int mitteDesBaums(int); #endif diff --git a/src/test/c/Jason/test_ASCII_art.c b/src/test/c/Jason/test_ASCII_art.c index bf29b8b..5f88ae5 100644 --- a/src/test/c/Jason/test_ASCII_art.c +++ b/src/test/c/Jason/test_ASCII_art.c @@ -97,7 +97,7 @@ void test_erscheintDieAbfrageFuerWeihnachtsbaum() { void test_korrekteBerechnungAufMaximaleBreiteWeihnachtsbaum() { //arrange - int expectedResult = 9; + int expectedResult = 10; //act int actualResult = max_breite(6); From f313b32f4c2a26b281e9a6b5b85dd10ffd4bab06 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Thu, 1 Feb 2024 16:54:00 +0100 Subject: [PATCH 24/43] =?UTF-8?q?Bef=C3=BCllen=20des=20Weihnachtsbaum=20Ar?= =?UTF-8?q?rays=20mit=20Leerzeichen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 12 +++++++++++- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index fce89f0..989dfa7 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -42,7 +42,9 @@ void weihnachtsbaum(){ int maxBreiteDesWeihnachtsbaums = max_breite(hoehe); int mitte_baum = mitteDesBaums(maxBreiteDesWeihnachtsbaums); - char weihnachtsbaum[hoehe * maxBreiteDesWeihnachtsbaums]; + int groesseDesArrays = (hoehe -1) * maxBreiteDesWeihnachtsbaums; + char weihnachtsbaum[groesseDesArrays]; + befuellenDesWeihnachtsbaumsMitLeerzeichen(weihnachtsbaum, groesseDesArrays); } @@ -134,4 +136,12 @@ int mitteDesBaums(int maxBreite){ int mitteVonBaum = maxBreite / 2; return mitteVonBaum; +} + +void befuellenDesWeihnachtsbaumsMitLeerzeichen(char arr[],int groesse){ + + for(int i = 0; i < groesse; i++){ + arr[i] = 'x'; + } + arr[groesse - 1] = '\0'; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index f4fe96b..0838183 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -14,6 +14,7 @@ void weihnachtsbaum(); int abfrageDerHoehe(); int max_breite(int); int mitteDesBaums(int); +void befuellenDesWeihnachtsbaumsMitLeerzeichen(char[],int); #endif From 2d6c4d398f2906976dff533b9720174615c8e3e3 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Thu, 1 Feb 2024 20:18:12 +0100 Subject: [PATCH 25/43] =?UTF-8?q?Bef=C3=BCllen=20des=20Array=20dynamisch?= =?UTF-8?q?=20mit=20+?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 27 ++++++++++++++++++++++++++- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 989dfa7..1155739 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -45,6 +45,7 @@ void weihnachtsbaum(){ int groesseDesArrays = (hoehe -1) * maxBreiteDesWeihnachtsbaums; char weihnachtsbaum[groesseDesArrays]; befuellenDesWeihnachtsbaumsMitLeerzeichen(weihnachtsbaum, groesseDesArrays); + befuellenDesWeihnachtsbaumMitPlus(weihnachtsbaum, maxBreiteDesWeihnachtsbaums, (hoehe-1)); } @@ -141,7 +142,31 @@ int mitteDesBaums(int maxBreite){ void befuellenDesWeihnachtsbaumsMitLeerzeichen(char arr[],int groesse){ for(int i = 0; i < groesse; i++){ - arr[i] = 'x'; + arr[i] = ' '; } arr[groesse - 1] = '\0'; +} + +void befuellenDesWeihnachtsbaumMitPlus(char arr[], int maxBreite, int zeilen){ + + int arrayGroesse = maxBreite * zeilen; + int mitteDesBaums = maxBreite / 2; + int mengeX = 1; + + + for(int i = zeilen; i > 0; i--){ + + int position = mitteDesBaums -1; + + while(position < mitteDesBaums-1 + mengeX){ + arr[position++] = '+'; + } + + mitteDesBaums += (maxBreite -1); + mengeX += 2; + } + + + + arr[arrayGroesse] = '\0'; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 0838183..a5084ea 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -15,6 +15,7 @@ int abfrageDerHoehe(); int max_breite(int); int mitteDesBaums(int); void befuellenDesWeihnachtsbaumsMitLeerzeichen(char[],int); +void befuellenDesWeihnachtsbaumMitPlus(char[], int, int); #endif From c17dd01b3f539b86dfb59539cad9105e8dd97dd3 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 17:26:54 +0100 Subject: [PATCH 26/43] =?UTF-8?q?Funktion=20hinzugef=C3=BCgt,=20die=20Zeil?= =?UTF-8?q?enumbr=C3=BCche=20in=20Weihnachtsbaum=20hinzuf=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 17 +++++++++++++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 18 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 1155739..4f481de 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -46,6 +46,8 @@ void weihnachtsbaum(){ char weihnachtsbaum[groesseDesArrays]; befuellenDesWeihnachtsbaumsMitLeerzeichen(weihnachtsbaum, groesseDesArrays); befuellenDesWeihnachtsbaumMitPlus(weihnachtsbaum, maxBreiteDesWeihnachtsbaums, (hoehe-1)); + befuellenDesWeihnachtsbaumMitZeilenumbruechen(weihnachtsbaum, hoehe, maxBreiteDesWeihnachtsbaums); + } @@ -169,4 +171,19 @@ void befuellenDesWeihnachtsbaumMitPlus(char arr[], int maxBreite, int zeilen){ arr[arrayGroesse] = '\0'; +} + +void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char arr[], int zeilen, int breite){ + + int arraygroesse = (zeilen-1) * breite; + + for (int i = 0; i < arraygroesse; i++){ + + if((i + 1) % breite == 0 ){ + + arr[i] = '\n'; + } + + } + arr[arraygroesse -1] = '\0'; } \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index a5084ea..8bdaee6 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -16,6 +16,7 @@ int max_breite(int); int mitteDesBaums(int); void befuellenDesWeihnachtsbaumsMitLeerzeichen(char[],int); void befuellenDesWeihnachtsbaumMitPlus(char[], int, int); +void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char[], int, int); #endif From 091f75c7318d1c6b7db062bbf4973965e598bbaf Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 17:52:57 +0100 Subject: [PATCH 27/43] =?UTF-8?q?Anlegen=20und=20bef=C3=BCllen=20des=20Sta?= =?UTF-8?q?mmarrays=20mit=20Leerzeichen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 12 +++++++++++- src/main/c/Jason/ASCII_art.h | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 4f481de..189c3a0 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -47,6 +47,9 @@ void weihnachtsbaum(){ befuellenDesWeihnachtsbaumsMitLeerzeichen(weihnachtsbaum, groesseDesArrays); befuellenDesWeihnachtsbaumMitPlus(weihnachtsbaum, maxBreiteDesWeihnachtsbaums, (hoehe-1)); befuellenDesWeihnachtsbaumMitZeilenumbruechen(weihnachtsbaum, hoehe, maxBreiteDesWeihnachtsbaums); + char stamm[maxBreiteDesWeihnachtsbaums]; + befuellenDesStammarrayMitLeerzeichen(stamm, maxBreiteDesWeihnachtsbaums); + } @@ -186,4 +189,11 @@ void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char arr[], int zeilen, int b } arr[arraygroesse -1] = '\0'; -} \ No newline at end of file +} + +void befuellenDesStammarrayMitLeerzeichen(char arr[], int breite){ + + for(int i = 0; i < breite; i++){ + arr[i] = ' '; + } +} diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 8bdaee6..7f720e5 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -17,6 +17,6 @@ int mitteDesBaums(int); void befuellenDesWeihnachtsbaumsMitLeerzeichen(char[],int); void befuellenDesWeihnachtsbaumMitPlus(char[], int, int); void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char[], int, int); - +void befuellenDesStammarrayMitLeerzeichen(char[], int); #endif From 3966a6fd09c13a5a828322e703815dd73a976dd7 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 18:11:04 +0100 Subject: [PATCH 28/43] Stammarray korrekt mit + und \0 besetzt --- src/main/c/Jason/ASCII_art.c | 12 ++++++++++-- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 189c3a0..d08f9f1 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -49,8 +49,7 @@ void weihnachtsbaum(){ befuellenDesWeihnachtsbaumMitZeilenumbruechen(weihnachtsbaum, hoehe, maxBreiteDesWeihnachtsbaums); char stamm[maxBreiteDesWeihnachtsbaums]; befuellenDesStammarrayMitLeerzeichen(stamm, maxBreiteDesWeihnachtsbaums); - - + stammAnRichtigerStelleEinsetzen(stamm, maxBreiteDesWeihnachtsbaums); } @@ -197,3 +196,12 @@ void befuellenDesStammarrayMitLeerzeichen(char arr[], int breite){ arr[i] = ' '; } } + +void stammAnRichtigerStelleEinsetzen(char arr[], int breite){ + + int stelleFuerStamm = breite / 2; + + arr[stelleFuerStamm-1] = '+' ; + + arr[breite - 1] = '\0'; +} diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 7f720e5..50b233f 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -18,5 +18,6 @@ void befuellenDesWeihnachtsbaumsMitLeerzeichen(char[],int); void befuellenDesWeihnachtsbaumMitPlus(char[], int, int); void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char[], int, int); void befuellenDesStammarrayMitLeerzeichen(char[], int); +void stammAnRichtigerStelleEinsetzen(char[], int); #endif From c8259c96679fadda0444cd3fcd1b0f7eb9c1924f Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 18:24:15 +0100 Subject: [PATCH 29/43] =?UTF-8?q?Deklarierung=20der=20Dreiecksfunktion=20u?= =?UTF-8?q?nd=20hinzuf=C3=BCgen=20der=20Dreiecksfunktion=20zur=20Auswahl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 10 ++++++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index d08f9f1..fa2eb84 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -53,11 +53,16 @@ void weihnachtsbaum(){ } +void dreieck(){ + +} + int printWelcomeMessage(){ printf("Willkommen bei ASCII-Art!\n"); printf("Wählen Sie aus welche ASCII-Art Sie sehen wollen!\n"); printf("(1) Quadrat\n"); printf("(2) Weihnachtsbaum\n"); + printf("(3) Dreieck\n"); return 0; } @@ -71,8 +76,13 @@ void auswahlDerArt(int pick){ weihnachtsbaum(); break; + case (3): + dreieck(); + break; + default: break; + } } diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 50b233f..c0b43dc 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -19,5 +19,6 @@ void befuellenDesWeihnachtsbaumMitPlus(char[], int, int); void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char[], int, int); void befuellenDesStammarrayMitLeerzeichen(char[], int); void stammAnRichtigerStelleEinsetzen(char[], int); +void dreieck(); #endif From e18c6524aeced9181a9438b80ad4bbb4eaa62451 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 18:30:06 +0100 Subject: [PATCH 30/43] =?UTF-8?q?hinzuf=C3=BCgen=20der=20Willkommensnachri?= =?UTF-8?q?cht=20f=C3=BCr=20ASCII-Art=20Dreieck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 10 +++++++++- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index fa2eb84..8084898 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -54,7 +54,8 @@ void weihnachtsbaum(){ } void dreieck(){ - + dreieckWillkommensnachricht(); + } int printWelcomeMessage(){ @@ -215,3 +216,10 @@ void stammAnRichtigerStelleEinsetzen(char arr[], int breite){ arr[breite - 1] = '\0'; } + +void dreieckWillkommensnachricht(){ + printf("Sie haben das Dreieck Ausgewählt!\n" + "Bitte geben Sie ein wie hoch das gewünschte Dreieck sein soll\n" + "(Es muss jedoch mindestens 2 hoch sein)\n" + "Eingabe:"); +} diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index c0b43dc..4debee9 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -20,5 +20,6 @@ void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char[], int, int); void befuellenDesStammarrayMitLeerzeichen(char[], int); void stammAnRichtigerStelleEinsetzen(char[], int); void dreieck(); +void dreieckWillkommensnachricht(); #endif From 5151a0115774f26ae34ff76f4d9d55d1933decf4 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 18:43:22 +0100 Subject: [PATCH 31/43] =?UTF-8?q?Eingabe=20f=C3=BCr=20dreieck=20gebaut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 8084898..cf68937 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -55,6 +55,16 @@ void weihnachtsbaum(){ void dreieck(){ dreieckWillkommensnachricht(); + int hoehe; + do{ + scanf("%d", &hoehe); + if(hoehe < 2){ + printf("Es wurde ein Wert eingegeben, der kleiner ist als 2. Bitte geben Sie erneut eine Zahl ein!\n" + "Eingbe:"); + } + } while(hoehe < 2); + + } From 5ca57a9e86883d7993f8965febc9481857702b03 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 20:31:23 +0100 Subject: [PATCH 32/43] =?UTF-8?q?Berechnung=20der=20n=C3=B6tigen=20Arraygr?= =?UTF-8?q?=C3=B6=C3=9Fe=20eingef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 18 +++++++++++++++++- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index cf68937..9638174 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -64,7 +64,10 @@ void dreieck(){ } } while(hoehe < 2); - + int arraygroesse = berechnungDerDreieckArraygroesse(hoehe); + + + } @@ -233,3 +236,16 @@ void dreieckWillkommensnachricht(){ "(Es muss jedoch mindestens 2 hoch sein)\n" "Eingabe:"); } + +int berechnungDerDreieckArraygroesse(int zeilen){ + int arraygroesseInklusiveEinerreiheOhneXOderBackslashN; + zeilen +=1; + + arraygroesseInklusiveEinerreiheOhneXOderBackslashN = zeilen * (zeilen+1) / 2; + + arraygroesseInklusiveEinerreiheOhneXOderBackslashN -= 1; + + + return arraygroesseInklusiveEinerreiheOhneXOderBackslashN; + +} diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 4debee9..29b4eee 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -21,5 +21,6 @@ void befuellenDesStammarrayMitLeerzeichen(char[], int); void stammAnRichtigerStelleEinsetzen(char[], int); void dreieck(); void dreieckWillkommensnachricht(); +int berechnungDerDreieckArraygroesse(int); #endif From f690a5aab351dcf7b8da126b5f776682f89fa5d1 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 20:47:35 +0100 Subject: [PATCH 33/43] =?UTF-8?q?Funktion=20um=20Array=20des=20Dreiecks=20?= =?UTF-8?q?mit=20X=20zu=20bef=C3=BCllen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 15 +++++++++++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 9638174..00b8353 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -65,6 +65,9 @@ void dreieck(){ } while(hoehe < 2); int arraygroesse = berechnungDerDreieckArraygroesse(hoehe); + char dreieck[arraygroesse]; + befuellenDesDreiecksMitX(dreieck, arraygroesse); + @@ -249,3 +252,15 @@ int berechnungDerDreieckArraygroesse(int zeilen){ return arraygroesseInklusiveEinerreiheOhneXOderBackslashN; } + +void befuellenDesDreiecksMitX(char arr[], int goresse){ + + for(int i = 0; i < goresse; i++){ + + arr[i] = 'X'; + + } + arr[goresse-1] = '\0'; + +} + diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 29b4eee..46d2bcc 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -22,5 +22,6 @@ void stammAnRichtigerStelleEinsetzen(char[], int); void dreieck(); void dreieckWillkommensnachricht(); int berechnungDerDreieckArraygroesse(int); +void befuellenDesDreiecksMitX(char[], int); #endif From 89f450a3175bb75fc8a29f1af554621745a701ed Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 21:15:43 +0100 Subject: [PATCH 34/43] =?UTF-8?q?Funktion=20f=C3=BCr=20Zeilenumbr=C3=BCcke?= =?UTF-8?q?=20des=20Dreiecks=20Fertig=20gestellt=20und=20Ausgabe=20eingef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 21 +++++++++++++++++---- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 00b8353..c1a9ea0 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -67,10 +67,8 @@ void dreieck(){ int arraygroesse = berechnungDerDreieckArraygroesse(hoehe); char dreieck[arraygroesse]; befuellenDesDreiecksMitX(dreieck, arraygroesse); - - - - + befuellenDesDreiecksMitZeilenumbruechen(dreieck, hoehe, arraygroesse); + printf("%s", dreieck); } @@ -264,3 +262,18 @@ void befuellenDesDreiecksMitX(char arr[], int goresse){ } +void befuellenDesDreiecksMitZeilenumbruechen(char arr[], int gesamtzeilen, int arraygroesse){ + + int stelleFuerZeilenumbruch = 1; + + for(int zeile = 1; zeile <= gesamtzeilen; zeile++){ + + arr[stelleFuerZeilenumbruch] = '\n'; + + stelleFuerZeilenumbruch += (zeile+2); + + } + + arr[arraygroesse] = '\0'; + +} diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 46d2bcc..51360d8 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -23,5 +23,6 @@ void dreieck(); void dreieckWillkommensnachricht(); int berechnungDerDreieckArraygroesse(int); void befuellenDesDreiecksMitX(char[], int); +void befuellenDesDreiecksMitZeilenumbruechen(char[], int, int); #endif From cade029110f620150906f74bf855e534cb8b22c9 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 21:32:07 +0100 Subject: [PATCH 35/43] =?UTF-8?q?Funktion=20f=C3=BCr=20Rakete=20eingebaut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 12 +++++++++++- src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index c1a9ea0..f083cf6 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -50,6 +50,8 @@ void weihnachtsbaum(){ char stamm[maxBreiteDesWeihnachtsbaums]; befuellenDesStammarrayMitLeerzeichen(stamm, maxBreiteDesWeihnachtsbaums); stammAnRichtigerStelleEinsetzen(stamm, maxBreiteDesWeihnachtsbaums); + printf("%s\n", weihnachtsbaum); + printf("%s", stamm); } @@ -72,12 +74,18 @@ void dreieck(){ } +void rakete(){ + +} + + int printWelcomeMessage(){ printf("Willkommen bei ASCII-Art!\n"); printf("Wählen Sie aus welche ASCII-Art Sie sehen wollen!\n"); printf("(1) Quadrat\n"); printf("(2) Weihnachtsbaum\n"); printf("(3) Dreieck\n"); + printf("(4) Rakete\n"); return 0; } @@ -94,7 +102,9 @@ void auswahlDerArt(int pick){ case (3): dreieck(); break; - + case (4): + rakete(); + break; default: break; diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index 51360d8..a8e8538 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -24,5 +24,6 @@ void dreieckWillkommensnachricht(); int berechnungDerDreieckArraygroesse(int); void befuellenDesDreiecksMitX(char[], int); void befuellenDesDreiecksMitZeilenumbruechen(char[], int, int); +void rakete(); #endif From 0fef0a87330b5027a899888d56b517d0eddb980d Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 21:54:19 +0100 Subject: [PATCH 36/43] =?UTF-8?q?Begr=C3=BC=C3=9Fung=20und=20Eingabe=20f?= =?UTF-8?q?=C3=BCr=20Rakete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 21 +++++++++++++++++++++ src/main/c/Jason/ASCII_art.h | 1 + 2 files changed, 22 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index f083cf6..652ef55 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -75,6 +75,19 @@ void dreieck(){ } void rakete(){ + raketeBegruessung(); + int hoehe; + do{ + scanf("%d", &hoehe); + if(hoehe < 3){ + printf("Es wurde ein Wert eingegeben, der kleiner ist als 3. Bitte geben Sie erneut eine Zahl ein!\n" + "Eingbe:"); + } + } while(hoehe < 3); + + + + } @@ -287,3 +300,11 @@ void befuellenDesDreiecksMitZeilenumbruechen(char arr[], int gesamtzeilen, int a arr[arraygroesse] = '\0'; } + +void raketeBegruessung(){ + + printf("Sie haben die ASCII-Art Rakete ausgewählt ! Bitte Geben Sie ein wie hoch die Rakete sein soll\n" + "(Mindestens 3)\n" + "Eingabe:"); + +} \ No newline at end of file diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index a8e8538..d06c1a1 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -25,5 +25,6 @@ int berechnungDerDreieckArraygroesse(int); void befuellenDesDreiecksMitX(char[], int); void befuellenDesDreiecksMitZeilenumbruechen(char[], int, int); void rakete(); +void raketeBegruessung(); #endif From 97d4212ed7323db49a46d821d6bfb178cc2ef10b Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 22:06:34 +0100 Subject: [PATCH 37/43] ASCII-Art in Schleife mit Abbruchbedingung --- src/main/c/Jason/ASCII_art.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 652ef55..25c0708 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -3,10 +3,21 @@ int ASCII_Art(){ - printWelcomeMessage(); - int auswahl; - scanf("%d", &auswahl); - auswahlDerArt(auswahl); + int weitermachen = 0; + do { + printWelcomeMessage(); + int auswahl; + scanf("%d", &auswahl); + auswahlDerArt(auswahl); + + + printf("Vielen Dank, dass sie sich ASCII-Art angesehen haben\n" + "Wollen Sie weitere ASCII-Art sehen?\n" + "(1) Ja\n" + "(2) Nein\n" + "Eingabe:"); + scanf("%d", &weitermachen); + }while(weitermachen == 1); return 0; From eb9b3a5a8840597b938f29a572a9ce49652d3c59 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 22:21:53 +0100 Subject: [PATCH 38/43] =?UTF-8?q?refactoring:=20erkl=C3=A4rung=20zur=20Ber?= =?UTF-8?q?echnung=20des=20Dreiecks=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 25c0708..70ec878 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -274,10 +274,15 @@ void dreieckWillkommensnachricht(){ int berechnungDerDreieckArraygroesse(int zeilen){ int arraygroesseInklusiveEinerreiheOhneXOderBackslashN; + + // Berechnung inklusive der \n zeilen +=1; + // zum Aufsummieren der nötigen Feldgroesse bietet sich die Gaußsche Summenformel an + arraygroesseInklusiveEinerreiheOhneXOderBackslashN = zeilen * (zeilen+1) / 2; + // Das Array beginnt in der ersten Zeile mit 2 Elementen, also muss 1 subtrahiert werden nach Gauß arraygroesseInklusiveEinerreiheOhneXOderBackslashN -= 1; From 551d5c7931f02f6fb332f5140a88ce4eb7a0d997 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 22:25:45 +0100 Subject: [PATCH 39/43] refactoring: Grammatikfehler --- src/main/c/Jason/ASCII_art.c | 8 ++++---- src/main/c/Jason/ASCII_art.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 70ec878..4a917d9 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -56,8 +56,8 @@ void weihnachtsbaum(){ int groesseDesArrays = (hoehe -1) * maxBreiteDesWeihnachtsbaums; char weihnachtsbaum[groesseDesArrays]; befuellenDesWeihnachtsbaumsMitLeerzeichen(weihnachtsbaum, groesseDesArrays); - befuellenDesWeihnachtsbaumMitPlus(weihnachtsbaum, maxBreiteDesWeihnachtsbaums, (hoehe-1)); - befuellenDesWeihnachtsbaumMitZeilenumbruechen(weihnachtsbaum, hoehe, maxBreiteDesWeihnachtsbaums); + befuellenDesWeihnachtsbaumsMitPlus(weihnachtsbaum, maxBreiteDesWeihnachtsbaums, (hoehe-1)); + befuellenDesWeihnachtsbaumsMitZeilenumbruechen(weihnachtsbaum, hoehe, maxBreiteDesWeihnachtsbaums); char stamm[maxBreiteDesWeihnachtsbaums]; befuellenDesStammarrayMitLeerzeichen(stamm, maxBreiteDesWeihnachtsbaums); stammAnRichtigerStelleEinsetzen(stamm, maxBreiteDesWeihnachtsbaums); @@ -210,7 +210,7 @@ void befuellenDesWeihnachtsbaumsMitLeerzeichen(char arr[],int groesse){ arr[groesse - 1] = '\0'; } -void befuellenDesWeihnachtsbaumMitPlus(char arr[], int maxBreite, int zeilen){ +void befuellenDesWeihnachtsbaumsMitPlus(char arr[], int maxBreite, int zeilen){ int arrayGroesse = maxBreite * zeilen; int mitteDesBaums = maxBreite / 2; @@ -234,7 +234,7 @@ void befuellenDesWeihnachtsbaumMitPlus(char arr[], int maxBreite, int zeilen){ arr[arrayGroesse] = '\0'; } -void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char arr[], int zeilen, int breite){ +void befuellenDesWeihnachtsbaumsMitZeilenumbruechen(char arr[], int zeilen, int breite){ int arraygroesse = (zeilen-1) * breite; diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index d06c1a1..f098925 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -15,8 +15,8 @@ int abfrageDerHoehe(); int max_breite(int); int mitteDesBaums(int); void befuellenDesWeihnachtsbaumsMitLeerzeichen(char[],int); -void befuellenDesWeihnachtsbaumMitPlus(char[], int, int); -void befuellenDesWeihnachtsbaumMitZeilenumbruechen(char[], int, int); +void befuellenDesWeihnachtsbaumsMitPlus(char[], int, int); +void befuellenDesWeihnachtsbaumsMitZeilenumbruechen(char[], int, int); void befuellenDesStammarrayMitLeerzeichen(char[], int); void stammAnRichtigerStelleEinsetzen(char[], int); void dreieck(); From 83aa1f65afb309115a0bc6efec45bf0e5c3db0fe Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 22:29:58 +0100 Subject: [PATCH 40/43] =?UTF-8?q?refactoring:=20Erkl=C3=A4rungen=20f=C3=BC?= =?UTF-8?q?r=20Berechnung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Jason/ASCII_art.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 4a917d9..4589d7c 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -236,8 +236,11 @@ void befuellenDesWeihnachtsbaumsMitPlus(char arr[], int maxBreite, int zeilen){ void befuellenDesWeihnachtsbaumsMitZeilenumbruechen(char arr[], int zeilen, int breite){ + // man muss von der eingegebenen Höhe eins abziehen, weil der Stamm in diesem Array nicht inbegriffen ist int arraygroesse = (zeilen-1) * breite; + // \n soll am Ende jeder Zeile platziert werden + for (int i = 0; i < arraygroesse; i++){ if((i + 1) % breite == 0 ){ From 88c7462c69a1caf3e7783654cdd42396c97b4075 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 22:33:24 +0100 Subject: [PATCH 41/43] refactoring: Funktionsnamen korrigiert --- src/main/c/Jason/ASCII_art.c | 6 +++--- src/main/c/Jason/ASCII_art.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 4589d7c..8c531fe 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -59,7 +59,7 @@ void weihnachtsbaum(){ befuellenDesWeihnachtsbaumsMitPlus(weihnachtsbaum, maxBreiteDesWeihnachtsbaums, (hoehe-1)); befuellenDesWeihnachtsbaumsMitZeilenumbruechen(weihnachtsbaum, hoehe, maxBreiteDesWeihnachtsbaums); char stamm[maxBreiteDesWeihnachtsbaums]; - befuellenDesStammarrayMitLeerzeichen(stamm, maxBreiteDesWeihnachtsbaums); + befuellenDesStammarraysMitLeerzeichen(stamm, maxBreiteDesWeihnachtsbaums); stammAnRichtigerStelleEinsetzen(stamm, maxBreiteDesWeihnachtsbaums); printf("%s\n", weihnachtsbaum); printf("%s", stamm); @@ -240,7 +240,7 @@ void befuellenDesWeihnachtsbaumsMitZeilenumbruechen(char arr[], int zeilen, int int arraygroesse = (zeilen-1) * breite; // \n soll am Ende jeder Zeile platziert werden - + for (int i = 0; i < arraygroesse; i++){ if((i + 1) % breite == 0 ){ @@ -252,7 +252,7 @@ void befuellenDesWeihnachtsbaumsMitZeilenumbruechen(char arr[], int zeilen, int arr[arraygroesse -1] = '\0'; } -void befuellenDesStammarrayMitLeerzeichen(char arr[], int breite){ +void befuellenDesStammarraysMitLeerzeichen(char arr[], int breite){ for(int i = 0; i < breite; i++){ arr[i] = ' '; diff --git a/src/main/c/Jason/ASCII_art.h b/src/main/c/Jason/ASCII_art.h index f098925..4917774 100644 --- a/src/main/c/Jason/ASCII_art.h +++ b/src/main/c/Jason/ASCII_art.h @@ -17,7 +17,7 @@ int mitteDesBaums(int); void befuellenDesWeihnachtsbaumsMitLeerzeichen(char[],int); void befuellenDesWeihnachtsbaumsMitPlus(char[], int, int); void befuellenDesWeihnachtsbaumsMitZeilenumbruechen(char[], int, int); -void befuellenDesStammarrayMitLeerzeichen(char[], int); +void befuellenDesStammarraysMitLeerzeichen(char[], int); void stammAnRichtigerStelleEinsetzen(char[], int); void dreieck(); void dreieckWillkommensnachricht(); From e5189b0e4e38f24202f7b676382d85e81212709f Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 22:36:15 +0100 Subject: [PATCH 42/43] refactoring: Platz eingespart --- src/main/c/Jason/ASCII_art.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 8c531fe..2555fb6 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -19,7 +19,6 @@ int ASCII_Art(){ scanf("%d", &weitermachen); }while(weitermachen == 1); - return 0; } @@ -95,11 +94,6 @@ void rakete(){ "Eingbe:"); } } while(hoehe < 3); - - - - - } @@ -215,8 +209,7 @@ void befuellenDesWeihnachtsbaumsMitPlus(char arr[], int maxBreite, int zeilen){ int arrayGroesse = maxBreite * zeilen; int mitteDesBaums = maxBreite / 2; int mengeX = 1; - - + for(int i = zeilen; i > 0; i--){ int position = mitteDesBaums -1; @@ -228,9 +221,6 @@ void befuellenDesWeihnachtsbaumsMitPlus(char arr[], int maxBreite, int zeilen){ mitteDesBaums += (maxBreite -1); mengeX += 2; } - - - arr[arrayGroesse] = '\0'; } @@ -247,7 +237,6 @@ void befuellenDesWeihnachtsbaumsMitZeilenumbruechen(char arr[], int zeilen, int arr[i] = '\n'; } - } arr[arraygroesse -1] = '\0'; } @@ -288,9 +277,7 @@ int berechnungDerDreieckArraygroesse(int zeilen){ // Das Array beginnt in der ersten Zeile mit 2 Elementen, also muss 1 subtrahiert werden nach Gauß arraygroesseInklusiveEinerreiheOhneXOderBackslashN -= 1; - return arraygroesseInklusiveEinerreiheOhneXOderBackslashN; - } void befuellenDesDreiecksMitX(char arr[], int goresse){ @@ -315,9 +302,7 @@ void befuellenDesDreiecksMitZeilenumbruechen(char arr[], int gesamtzeilen, int a stelleFuerZeilenumbruch += (zeile+2); } - arr[arraygroesse] = '\0'; - } void raketeBegruessung(){ From 6af778dfefd429926fa8f610cc2d4c88df12b322 Mon Sep 17 00:00:00 2001 From: Jason Peters Date: Sat, 3 Feb 2024 22:41:12 +0100 Subject: [PATCH 43/43] refactoring: Baum Info --- src/main/c/Jason/ASCII_art.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/c/Jason/ASCII_art.c b/src/main/c/Jason/ASCII_art.c index 2555fb6..9242f53 100644 --- a/src/main/c/Jason/ASCII_art.c +++ b/src/main/c/Jason/ASCII_art.c @@ -42,6 +42,7 @@ void weihnachtsbaum(){ abfrageDerHoehe(); int hoehe; do{ + // Diese Schleifen erfragen user input solange bis korrekte Werte eingegeben werden scanf("%d", &hoehe); if (hoehe < 3){ @@ -60,6 +61,8 @@ void weihnachtsbaum(){ char stamm[maxBreiteDesWeihnachtsbaums]; befuellenDesStammarraysMitLeerzeichen(stamm, maxBreiteDesWeihnachtsbaums); stammAnRichtigerStelleEinsetzen(stamm, maxBreiteDesWeihnachtsbaums); + + // Felder für Stamm und Baumspitze werden der Einfachheit halber getrennt befüllt und ausgegeben printf("%s\n", weihnachtsbaum); printf("%s", stamm); @@ -209,7 +212,7 @@ void befuellenDesWeihnachtsbaumsMitPlus(char arr[], int maxBreite, int zeilen){ int arrayGroesse = maxBreite * zeilen; int mitteDesBaums = maxBreite / 2; int mengeX = 1; - + for(int i = zeilen; i > 0; i--){ int position = mitteDesBaums -1;