From b5dc110cd25c020f96f5d799f3ef72a7f29833fb Mon Sep 17 00:00:00 2001 From: ketrptr Date: Sun, 15 Dec 2024 12:40:05 +0100 Subject: [PATCH] modified: src/ui.c --- src/ui.c | 101 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 61 insertions(+), 40 deletions(-) diff --git a/src/ui.c b/src/ui.c index 27fa9fc..25d98c1 100644 --- a/src/ui.c +++ b/src/ui.c @@ -11,6 +11,7 @@ #include #include #include +#include int main(void) { char taskname[256]; // taskName Buffer @@ -19,7 +20,7 @@ int main(void) { int taskpriority = 0; int taskspare = 0; - llist *list = llistNew(NULL, cmpTaskN); + llist *list = NULL; int choice = 0, i = 0; do { printf(" -1- Neues Fach eingeben\n"); @@ -34,14 +35,17 @@ int main(void) { // choice = 0; switch (choice) { - case 1: { + case 1: printf(" Geben sie das gewünschte Fach ein: \n"); - if (scanf("%c", taskname) != 1) { + time_t now = time(NULL); + struct tm lc; + localtime_r(&now, &lc); + if (fscanf(stdin, "%s", taskname) <= 0) { printf("Ungültige Eingabe für den Namen.\n"); return -1; } - printf(" Wie viel Zeit bleibt ihnen:\n"); + printf(" Wie viel Zeit bleibt ihnen (tage bis deadline):\n"); if (scanf("%d", &taskdeadline_date) != 1) { printf("Ungültige Eingabe.\n"); return -1; @@ -58,51 +62,71 @@ int main(void) { printf("Ungültige Eingabe.\n"); return -1; } + + // create deadline timestamp + lc.tm_yday += taskdeadline_date; + time_t deadline = mktime(&lc); + Task *newT = newTask(taskname, now, deadline, taskpriority, 0); + if (list == NULL) { + list = llistNew(newT, cmpTaskN); + } else { + llistAppend(list, newT); + } + break; case 2: printf( "Geben Sie die zur verfuegung stehende Zeit für die Fächer an: \n"); scanf("%d", &taskspare); + // if list exists use it to generate plan + if (list != NULL) { + genPlan(list, taskspare); + } else { + printf("list is empty!"); + return -1; + } 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 - // } + if (list == NULL) { + printf("Die Liste ist leer"); + } else { + llistPrintT(list); + // 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; + // + // printf(" Wie viel Zeit bleibt ihnen:\n"); + // if (scanf("%d", &taskdeadline_date) != 1) { + // printf("Ungültige Eingabe.\n"); + // return -1; // } - break; - // case 4: iCAl();break; - - 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; + // + // 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 4: printf( "Geben Sie die zur verfuegung stehende Zeit für die Fächer an: \n"); scanf("%d", &taskspare); + break; case 5: @@ -121,9 +145,6 @@ int main(void) { break; // case 4: iCAl();break; } - } } while (choice != 5); - { - return EXIT_SUCCESS; - } + return EXIT_SUCCESS; }