diff --git a/Assignment_007/readme.md b/Assignment_007/readme.md index 8933d4d..30ede39 100644 --- a/Assignment_007/readme.md +++ b/Assignment_007/readme.md @@ -79,7 +79,7 @@ static char* allTests() { return 0; } -int main() { +int main(int argc, char** argv) { char *result = allTests(); if (result != 0) printf("%s\n", result); diff --git a/Assignment_007/solution/readme.md b/Assignment_007/solution/readme.md index b3156e7..680bd7d 100644 --- a/Assignment_007/solution/readme.md +++ b/Assignment_007/solution/readme.md @@ -7,4 +7,4 @@ Lösung: * [main.c](crypto/main.c) * [test.c](crypto/test.c) * [test-text.txt](crypto/test-text.txt) - * [Makefile](crypto/Makefile) \ No newline at end of file + * [Makefile](crypto/Makefile) diff --git a/Assignment_007/solution/test.c b/Assignment_007/solution/test.c index 43812e4..1489c34 100644 --- a/Assignment_007/solution/test.c +++ b/Assignment_007/solution/test.c @@ -8,7 +8,7 @@ if (message) return message; } while (0) int tests_run; -static char* testRoundtrip() { +static char* testRoundtrip(void) { char* text = strdup("DIESXISTXEINXTEST"); char* result = (char*) malloc(strlen(text) + 1); char* result2 = (char*) malloc(strlen(text) + 1); @@ -21,7 +21,7 @@ static char* testRoundtrip() { return 0; } -static char* testIllegalKey() { +static char* testIllegalKey(void) { char* text = strdup("DIESXISTXEINXTEST"); char* result = (char*) malloc(strlen(text) + 1); int error; @@ -40,21 +40,21 @@ static char* testIllegalKey() { return 0; } -static char* textIllegalMessage() { +static char* textIllegalMessage(void) { KEY key1 = { 1, "KEY" }; int error = encrypt(key1, "ABCD AB", NULL); mu_assert("Illegal char in message not detected: ABCD AB", error == E_MESSAGE_ILLEGAL_CHAR); return 0; } -static char* textIllegalCypher() { +static char* textIllegalCypher(void) { KEY key1 = { 1, "KEY" }; int error = decrypt(key1, "ABCD AB", NULL); mu_assert("Illegal char in cypher not detected: ABCD AB", error == E_CYPHER_ILLEGAL_CHAR); return 0; } -static char* allTests() { +static char* allTests(void) { mu_run_test(testRoundtrip); mu_run_test(testIllegalKey); mu_run_test(textIllegalMessage); @@ -62,7 +62,7 @@ static char* allTests() { return 0; } -int main() { +int main(int argc, char** argv) { char *result = allTests(); if (result != 0) printf("%s\n", result); diff --git a/Assignment_014/solution/strings.c b/Assignment_014/solution/strings.c index 9812aba..9f6ede7 100644 --- a/Assignment_014/solution/strings.c +++ b/Assignment_014/solution/strings.c @@ -17,7 +17,7 @@ void manipulate_text(char* text) { printf("Manipulierter Text: %s\n", copiedText); } -int main() { +int main(int argc, char** argv) { char text[100]; printf("Geben Sie einen Text ein: "); diff --git a/Assignment_019/solution/function_pointer.c b/Assignment_019/solution/function_pointer.c index 4d3d17b..3787137 100644 --- a/Assignment_019/solution/function_pointer.c +++ b/Assignment_019/solution/function_pointer.c @@ -59,7 +59,7 @@ void to_console_ucase(const char* data) { free(ucase); } -int main() { +int main(int argc, char** argv) { const char* data[] = { "Daten 1", "Daten 2", "Daten 3" }; int count = sizeof(data) / sizeof(data[0]); diff --git a/Assignment_021/solution/union.c b/Assignment_021/solution/union.c index 7d82d88..a7514d5 100644 --- a/Assignment_021/solution/union.c +++ b/Assignment_021/solution/union.c @@ -24,7 +24,7 @@ void print_number(number_t zahl, number_type typ) { } } -int main() { +int main(int argc, char** argv) { number_t zahl; number_type typ; diff --git a/Assignment_022/readme.md b/Assignment_022/readme.md index 2f1bbd5..038f032 100644 --- a/Assignment_022/readme.md +++ b/Assignment_022/readme.md @@ -1,4 +1,4 @@ -# Assignment: Vektor (heap-basiert) +# Vektor (heap-basiert) 📆 **Fällig: ----** 📆 [Musterlösung](solution/) diff --git a/Assignment_022/solution/vector_heap.c b/Assignment_022/solution/vector_heap.c index c63c00c..210ba99 100644 --- a/Assignment_022/solution/vector_heap.c +++ b/Assignment_022/solution/vector_heap.c @@ -17,7 +17,7 @@ Vector* vec_new(double x, double y, double z) { return result; } -Vector* vec_new_null() { +Vector* vec_new_null(void) { return vec_new(0.0, 0.0, 0.0); diff --git a/Assignment_022/solution/vector_heap_test.c b/Assignment_022/solution/vector_heap_test.c index 60640bd..d0b7e8c 100644 --- a/Assignment_022/solution/vector_heap_test.c +++ b/Assignment_022/solution/vector_heap_test.c @@ -4,7 +4,7 @@ #include "minitest.h" #include "vector_heap.h" -static char* test_creation() { +static char* test_creation(void) { Vector* vec = vec_new(3.0, 1.0, -5.0); mu_assert("Equal x", vec->x == 3.0); mu_assert("Equal y", vec->y == 1.0); @@ -16,14 +16,14 @@ static char* test_creation() { static int tests_run; -static char* allTests() { +static char* allTests(void) { mu_run_test(test_creation); /* Weitere Tests hier einfügen */ return 0; } -int main() { +int main(int argc, char** argv) { char *result = allTests(); if (result != 0) printf("%s\n", result); diff --git a/Assignment_022/vector_heap_test.c b/Assignment_022/vector_heap_test.c index 60640bd..d0b7e8c 100644 --- a/Assignment_022/vector_heap_test.c +++ b/Assignment_022/vector_heap_test.c @@ -4,7 +4,7 @@ #include "minitest.h" #include "vector_heap.h" -static char* test_creation() { +static char* test_creation(void) { Vector* vec = vec_new(3.0, 1.0, -5.0); mu_assert("Equal x", vec->x == 3.0); mu_assert("Equal y", vec->y == 1.0); @@ -16,14 +16,14 @@ static char* test_creation() { static int tests_run; -static char* allTests() { +static char* allTests(void) { mu_run_test(test_creation); /* Weitere Tests hier einfügen */ return 0; } -int main() { +int main(int argc, char** argv) { char *result = allTests(); if (result != 0) printf("%s\n", result); diff --git a/Assignment_023/readme.md b/Assignment_023/readme.md index ee4dd50..9dd103c 100644 --- a/Assignment_023/readme.md +++ b/Assignment_023/readme.md @@ -1,4 +1,4 @@ -# Assignment: Vektor (stack-basiert) +# Vektor (stack-basiert) 📆 **Fällig: ----** 📆 [Musterlösung](solution/) diff --git a/Assignment_023/solution/readme.md b/Assignment_023/solution/readme.md index 1f77ea0..7296134 100644 --- a/Assignment_023/solution/readme.md +++ b/Assignment_023/solution/readme.md @@ -8,4 +8,4 @@ Lösung: * [vector_stack_benchmark.c](vector_stack_benchmark.c) * [vector_stack.c](vector_stack.c) * [vector_stack.h](vector_stack.h) - * [vector_stack_test.c](vector_stack_test.c) \ No newline at end of file + * [vector_stack_test.c](vector_stack_test.c) diff --git a/Assignment_023/solution/vector_stack_test.c b/Assignment_023/solution/vector_stack_test.c index 5b143c4..3ac70f5 100644 --- a/Assignment_023/solution/vector_stack_test.c +++ b/Assignment_023/solution/vector_stack_test.c @@ -4,7 +4,7 @@ #include "minitest.h" #include "vector_stack.h" -static char* test_creation() { +static char* test_creationvoid { Vector vec; vec_init(&vec, 3.0, 1.0, -5.0); @@ -19,14 +19,14 @@ static char* test_creation() { static int tests_run; -static char* allTests() { +static char* allTests(void) { mu_run_test(test_creation); /* Alle Testmethoden hier rufen */ return 0; } -int main() { +int main(int argc, char** argv) { char *result = allTests(); if (result != 0) printf("%s\n", result); diff --git a/Assignment_023/vector_stack_test.c b/Assignment_023/vector_stack_test.c index 5b143c4..3ac70f5 100644 --- a/Assignment_023/vector_stack_test.c +++ b/Assignment_023/vector_stack_test.c @@ -4,7 +4,7 @@ #include "minitest.h" #include "vector_stack.h" -static char* test_creation() { +static char* test_creationvoid { Vector vec; vec_init(&vec, 3.0, 1.0, -5.0); @@ -19,14 +19,14 @@ static char* test_creation() { static int tests_run; -static char* allTests() { +static char* allTests(void) { mu_run_test(test_creation); /* Alle Testmethoden hier rufen */ return 0; } -int main() { +int main(int argc, char** argv) { char *result = allTests(); if (result != 0) printf("%s\n", result); diff --git a/Assignment_028/solution/socket_server.c b/Assignment_028/solution/socket_server.c index 154075b..6462aef 100644 --- a/Assignment_028/solution/socket_server.c +++ b/Assignment_028/solution/socket_server.c @@ -18,7 +18,7 @@ #define PORT 8080 #define BUFFER_SIZE 1024 -int main() { +int main(int argc, char** argv) { int server_fd, new_socket; struct sockaddr_in address; int addrlen = sizeof(address); diff --git a/Assignment_029/solution/threads.c b/Assignment_029/solution/threads.c index 29cb5fd..0bf1e71 100644 --- a/Assignment_029/solution/threads.c +++ b/Assignment_029/solution/threads.c @@ -14,7 +14,7 @@ void* task(void* arg) { pthread_exit(NULL); } -int main() { +int main(int argc, char** argv) { pthread_t threads[NUM_THREADS]; for (int i = 0; i < NUM_THREADS; i++) { diff --git a/readme.md b/readme.md index abcd18e..d310e51 100644 --- a/readme.md +++ b/readme.md @@ -6,34 +6,34 @@ Die **Abgabedaten** haben keine Bedeutung, da der Kurs keine Prüfung beinhaltet ## Themenüberblick -| # | Thema | Fällig am 📆 | -|----|----------------------------------------------------------------------------------------------|----------------| -| 1. | [Simples Hello-World-Programm](Assignment_001/readme.md) | **----** | -| 2. | [Simples Hello-World-Programm mit #define](Assignment_002/readme.md) | **----** | -| 3. | [Kommandozeilenargumente ausgeben](Assignment_003/readme.md) | **----** | -| 4. | [Hello-World-Programm, das den Namen von der Kommandozeile nimmt](Assignment_004/readme.md) | **----** | -| 5. | [Simples Hello-World-Programm mit externer Funktion](Assignment_005/readme.md) | **----** | -| 6. | [Zahlenraten](Assignment_006/readme.md) | **----** | -| 7. | [Verschlüsselung in C](Assignment_007/readme.md) | **----** | -| 8. | [Countdown](Assignment_008/readme.md) | **----** | -| 9. | [Größe von Datentypen](Assignment_009/readme.md) | **----** | -| 10. | [Vertauschen von zwei Integer-Werte](Assignment_010/readme.md) | **----** | -| 11. | [Leet Speak](Assignment_011/readme.md) | **----** | -| 12. | [Array ausgeben](Assignment_012/readme.md) | **----** | -| 13. | [Array mit Pointer-Arithmetik ausgeben](Assignment_013/readme.md) | **----** | -| 14. | [String-Verarbeitung](Assignment_014/readme.md) | **----** | -| 15. | [String umdrehen](Assignment_015/readme.md) | **----** | -| 16. | [Vararg Funktion schreiben](Assignment_016/readme.md) | **----** | -| 17. | [typedef verwenden](Assignment_017/readme.md) | **----** | -| 18. | [Dynamische Speicherverwaltung mit malloc und free](Assignment_018/readme.md) | **----** | -| 19. | [Funktionspointer benutzen](Assignment_019/readme.md) | **----** | -| 20. | [Struct verwenden](Assignment_020/readme.md) | **----** | -| 21. | [Union verwenden](Assignment_021/readme.md) | **----** | -| 22. | [Vektor (heap-basiert)](Assignment_022/readme.md) | **----** | -| 23. | [Vektor (stack-basiert)](Assignment_023/readme.md) | **----** | -| 24. | [Datei auf der Konsole aufgeben](Assignment_024/readme.md) | **----** | -| 25. | [Datei auf der Konsole mit Zeilennummern aufgeben](Assignment_025/readme.md) | **----** | -| 26. | [Datei lesen und schreiben](Assignment_026/readme.md) | **----** | -| 27. | [Rechner mit Pipes](Assignment_027/readme.md) | **----** | -| 28. | [Socket-Client und -Server programmieren](Assignment_028/readme.md) | **----** | -| 29. | [POSIX-Threads](Assignment_029/readme.md) | **----** | +| # | Thema | Fällig am 📆 | Musterlösung | +|-----|----------------------------------------------------------------------------------------------|----------------|----------------| +| 1. | [Simples Hello-World-Programm](Assignment_001/readme.md) | **----** | [✅](Assignment_001/solution/) | +| 2. | [Simples Hello-World-Programm mit #define](Assignment_002/readme.md) | **----** | [✅](Assignment_002/solution/) | +| 3. | [Kommandozeilenargumente ausgeben](Assignment_003/readme.md) | **----** | [✅](Assignment_003/solution/) | +| 4. | [Hello-World-Programm, das den Namen von der Kommandozeile nimmt](Assignment_004/readme.md) | **----** | [✅](Assignment_004/solution/) | +| 5. | [Simples Hello-World-Programm mit externer Funktion](Assignment_005/readme.md) | **----** | [✅](Assignment_005/solution/) | +| 6. | [Zahlenraten](Assignment_006/readme.md) | **----** | [✅](Assignment_006/solution/) | +| 7. | [Verschlüsselung in C](Assignment_007/readme.md) | **----** | [✅](Assignment_007/solution/) | +| 8. | [Countdown](Assignment_008/readme.md) | **----** | [✅](Assignment_008/solution/) | +| 9. | [Größe von Datentypen](Assignment_009/readme.md) | **----** | [✅](Assignment_009/solution/) | +| 10. | [Vertauschen von zwei Integer-Werte](Assignment_010/readme.md) | **----** | [✅](Assignment_010/solution/) | +| 11. | [Leet Speak](Assignment_011/readme.md) | **----** | [✅](Assignment_011/solution/) | +| 12. | [Array ausgeben](Assignment_012/readme.md) | **----** | [✅](Assignment_012/solution/) | +| 13. | [Array mit Pointer-Arithmetik ausgeben](Assignment_013/readme.md) | **----** | [✅](Assignment_013/solution/) | +| 14. | [String-Verarbeitung](Assignment_014/readme.md) | **----** | [✅](Assignment_014/solution/) | +| 15. | [String umdrehen](Assignment_015/readme.md) | **----** | [✅](Assignment_015/solution/) | +| 16. | [Vararg Funktion schreiben](Assignment_016/readme.md) | **----** | [✅](Assignment_016/solution/) | +| 17. | [typedef verwenden](Assignment_017/readme.md) | **----** | [✅](Assignment_017/solution/) | +| 18. | [Dynamische Speicherverwaltung mit malloc und free](Assignment_018/readme.md) | **----** | [✅](Assignment_018/solution/) | +| 19. | [Funktionspointer benutzen](Assignment_019/readme.md) | **----** | [✅](Assignment_019/solution/) | +| 20. | [Struct verwenden](Assignment_020/readme.md) | **----** | [✅](Assignment_020/solution/) | +| 21. | [Union verwenden](Assignment_021/readme.md) | **----** | [✅](Assignment_021/solution/) | +| 22. | [Vektor (heap-basiert)](Assignment_022/readme.md) | **----** | [✅](Assignment_022/solution/) | +| 23. | [Vektor (stack-basiert)](Assignment_023/readme.md) | **----** | [✅](Assignment_023/solution/) | +| 24. | [Datei auf der Konsole aufgeben](Assignment_024/readme.md) | **----** | [✅](Assignment_024/solution/) | +| 25. | [Datei auf der Konsole mit Zeilennummern aufgeben](Assignment_025/readme.md) | **----** | [✅](Assignment_025/solution/) | +| 26. | [Datei lesen und schreiben](Assignment_026/readme.md) | **----** | [✅](Assignment_026/solution/) | +| 27. | [Rechner mit Pipes](Assignment_027/readme.md) | **----** | [✅](Assignment_027/solution/) | +| 28. | [Socket-Client und -Server programmieren](Assignment_028/readme.md) | **----** | [✅](Assignment_028/solution/) | +| 29. | [POSIX-Threads](Assignment_029/readme.md) | **----** | [✅](Assignment_029/solution/) |