bugfixMaster
Jürgen Büchel 2024-12-14 22:14:17 +01:00
parent b308dc4c95
commit f6cea89dd2
1 changed files with 91 additions and 69 deletions

160
src/ui.c
View File

@ -3,90 +3,112 @@
* *
*/ */
/* Created by Juergen Buechel, 13.12.2024/ /* Created by Juergen Buechel, 13.12.2024/
*/ */
#include "ui.h"
#include "planner.h" // for subject and event structs #include "planner.h" // for subject and event structs
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include "ui.h"
#include <assert.h> #include <assert.h>
#include "db.h" #include "db.h"
#include "llist.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! int main(void)
Task *task = newTask(taskname, taskcreation_date, taskdeadline_date, {
taskpriority, taskspare); char taskname ;
{ int taskcreation_date;
// Insert task into the linked list int taskdeadline_date = 0;
if (list == NULL) { // which list int taskpriority;
// If the list is empty, initialize it with the first task int taskspare;
// llist *list = NULL;
// task can be NULL to init llist.
// use llist->next to gitve to next function Task *task = newTask(taskname, taskcreation_date, taskdeadline_date, taskpriority, taskspare);
list = llistNew(task, cmpTaskN); if (task == NULL) {
printf("Fehler beim Erstellen der Aufgabe.\n");
return -1;
}
if (list == NULL) {
list = llistNew(task, cmpTaskN);
} else { } else {
// Append the task to the linked list list = llistAppend(list, task); // Rückgabewert verwenden
llistAppend(list, task); // task would be appended for 2nd time here
} }
}
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)) { int choice = 0, i = 0;
switch (choice) { do
case 1: { {
printf(" Geben sie das gewünschte Fach ein: \n"); printf(" -1- Neues Fach eingeben\n");
scanf("%c", taskname); // string not single char 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"); printf(" Wie viel Zeit bleibt ihnen:\n");
scanf("%c", taskspare); 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;
}
} }
}