modified: src/ui.c

bugfixMaster
ketrptr 2024-12-15 12:40:05 +01:00
parent 9b3238978b
commit b5dc110cd2
1 changed files with 61 additions and 40 deletions

101
src/ui.c
View File

@ -11,6 +11,7 @@
#include <assert.h> #include <assert.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <time.h>
int main(void) { int main(void) {
char taskname[256]; // taskName Buffer char taskname[256]; // taskName Buffer
@ -19,7 +20,7 @@ int main(void) {
int taskpriority = 0; int taskpriority = 0;
int taskspare = 0; int taskspare = 0;
llist *list = llistNew(NULL, cmpTaskN); llist *list = NULL;
int choice = 0, i = 0; int choice = 0, i = 0;
do { do {
printf(" -1- Neues Fach eingeben\n"); printf(" -1- Neues Fach eingeben\n");
@ -34,14 +35,17 @@ int main(void) {
// choice = 0; // choice = 0;
switch (choice) { switch (choice) {
case 1: { case 1:
printf(" Geben sie das gewünschte Fach ein: \n"); 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"); printf("Ungültige Eingabe für den Namen.\n");
return -1; 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) { if (scanf("%d", &taskdeadline_date) != 1) {
printf("Ungültige Eingabe.\n"); printf("Ungültige Eingabe.\n");
return -1; return -1;
@ -58,51 +62,71 @@ int main(void) {
printf("Ungültige Eingabe.\n"); printf("Ungültige Eingabe.\n");
return -1; 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; break;
case 2: case 2:
printf( printf(
"Geben Sie die zur verfuegung stehende Zeit für die Fächer an: \n"); "Geben Sie die zur verfuegung stehende Zeit für die Fächer an: \n");
scanf("%d", &taskspare); 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; break;
case 3: case 3:
// if (task == NULL) { if (list == NULL) {
// printf("Die Liste ist leer"); printf("Die Liste ist leer");
// } else { } else {
// llist *iterator = list; llistPrintT(list);
// while (iterator != NULL) { // llist *iterator = list;
// Task *currentTask = (Task *)(iterator->data); // Cast zu Task // while (iterator != NULL) {
// printf("Fach: %s, Deadline: %ld, Priorität: %d\n", // Task *currentTask = (Task *)(iterator->data); // Cast zu Task
// currentTask->name, currentTask->deadline, // printf("Fach: %s, Deadline: %ld, Priorität: %d\n",
// currentTask->priority); // currentTask->name, currentTask->deadline,
// iterator = iterator->next; // Gehe zum nächsten Listenelement // 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(" Gib die Priorität des Faches an: \n");
// if (scanf("%d", &taskpriority) != 1) {
printf(" Wie viel Zeit bleibt ihnen:\n"); // printf("Ungültige Eingabe.\n");
if (scanf("%d", &taskdeadline_date) != 1) { // return -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(" Gib die Priorität des Faches an: \n"); // printf("Ungültige Eingabe.\n");
if (scanf("%d", &taskpriority) != 1) { // return -1;
printf("Ungültige Eingabe.\n"); // }
return -1; // break;
}
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: case 4:
printf( printf(
"Geben Sie die zur verfuegung stehende Zeit für die Fächer an: \n"); "Geben Sie die zur verfuegung stehende Zeit für die Fächer an: \n");
scanf("%d", &taskspare); scanf("%d", &taskspare);
break; break;
case 5: case 5:
@ -121,9 +145,6 @@ int main(void) {
break; break;
// case 4: iCAl();break; // case 4: iCAl();break;
} }
}
} while (choice != 5); } while (choice != 5);
{ return EXIT_SUCCESS;
return EXIT_SUCCESS;
}
} }