diff --git a/src/ui.c b/src/ui.c index d39b46a..77731ff 100644 --- a/src/ui.c +++ b/src/ui.c @@ -3,90 +3,112 @@ * */ /* Created by Juergen Buechel, 13.12.2024/ - */ -#include "ui.h" +*/ #include "planner.h" // for subject and event structs #include #include - +#include "ui.h" #include - #include "db.h" #include "llist.h" -#include "planner.h" -int main(void) { - char taskname; - int taskcreation_date; - int taskdeadline_date; - int taskpriority; - int taskspare; - // Uninitialized Vars! values must be known and alloced first! - Task *task = newTask(taskname, taskcreation_date, taskdeadline_date, - taskpriority, taskspare); - { - // Insert task into the linked list - if (list == NULL) { // which list - // If the list is empty, initialize it with the first task - // - // task can be NULL to init llist. - // use llist->next to gitve to next function - list = llistNew(task, cmpTaskN); +int main(void) +{ + char taskname ; + int taskcreation_date; + int taskdeadline_date = 0; + int taskpriority; + int taskspare; + llist *list = NULL; + + Task *task = newTask(taskname, taskcreation_date, taskdeadline_date, taskpriority, taskspare); + if (task == NULL) { + printf("Fehler beim Erstellen der Aufgabe.\n"); + return -1; + } + + if (list == NULL) { + list = llistNew(task, cmpTaskN); } else { - // Append the task to the linked list - llistAppend(list, task); // task would be appended for 2nd time here + list = llistAppend(list, task); // Rückgabewert verwenden } - } - int time; - int choice = 0, i = 0; - do { - printf(" -1- Neues Fach eingeben\n"); - printf(" -2- Verfuegbare Zeit eingeben\n"); - printf(" -3- Alle vorhandenen Faecher aufliesten\n"); - printf(" -4- Kalenderlink ausgeben\n"); - printf(" -5- Planer beenden\n"); - printf(" Wähle die gewünschte Option aus\n"); - if (scanf("%d", &choice) != 1) { - printf("Falsche Eingabe\n"); - }; - choice = 0; - while ((choice < 1 || choice > 5)) { - switch (choice) { - case 1: { - printf(" Geben sie das gewünschte Fach ein: \n"); - scanf("%c", taskname); // string not single char + int choice = 0, i = 0; + do + { + printf(" -1- Neues Fach eingeben\n"); + printf(" -2- Verfuegbare Zeit eingeben\n"); + printf(" -3- Alle vorhandenen Faecher aufliesten\n"); + printf(" -4- Kalenderlink ausgeben\n"); + printf(" -5- Planer beenden\n"); + printf(" Wähle die gewünschte Option aus\n"); + if( scanf("%d", &choice) != 1){ + printf("Falsche Eingabe\n");}; + choice = 0; - printf(" Wie viel Zeit bleibt ihnen:\n") scanf("%c", taskdeadline_date); + while(( choice < 1 || choice > 5)){ + switch (choice) + { + case 1: + { + printf(" Geben sie das gewünschte Fach ein: \n"); + if (scanf("%255s", taskname) != 1) { + printf("Ungültige Eingabe für den Namen.\n"); + return -1; + } - printf(" Gib die Priorität des Faches an: \n"); - scanf("%c", &taskpriority); - printf(" Wie viel Zeit habe Sie für dieses Fach: \n"); - scanf("%c", taskspare); - } + printf(" Wie viel Zeit bleibt ihnen:\n"); + if (scanf("%d", &taskdeadline_date) != 1) { + printf("Ungültige Eingabe.\n"); + return -1; + } + + + printf(" Gib die Priorität des Faches an: \n"); + if (scanf("%d", &taskpriority) != 1) { + printf("Ungültige Eingabe.\n"); + return -1; + } + + + printf(" Wie viel Zeit habe Sie für dieses Fach: \n"); + if (scanf("%d", &taskspare) != 1) { + printf("Ungültige Eingabe.\n"); + return -1; + } + break; + + case 2: + printf("Geben Sie die zur verfuegung stehende Zeit für die Fächer an: \n"); + scanf("%c", &taskspare); + break; + + case 3: if( task == NULL){ + printf("Die Liste ist leer"); + } + else + { + llist *iterator = list; + while (iterator != NULL) { + Task *currentTask = (Task *)(iterator->data); // Cast zu Task + printf("Fach: %s, Deadline: %ld, Priorität: %d\n", + currentTask->name, currentTask->deadline, currentTask->priority); + iterator = iterator->next; // Gehe zum nächsten Listenelement + } + } + break; + // case 4: iCAl();break; + } + }while (choice !=5); + return EXIT_SUCCESS; - case 2: - printf( - "Geben Sie die zur verfuegung stehende Zeit für die Fächer an: \n"); - scanf("%c", &taskspare); - case 3: - if (task == NULL) { - printf("Die Liste ist leer"); - } else { - while (task != NULL) { - printf("Faecher %d: \n", llistAppend(task)); - } - } - break; - // case 4: iCAl();break; - } - } - while (choice != 5) - ; - return EXIT_SUCCESS; - } } +} + + + +