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/
*/
#include "ui.h"
*/
#include "planner.h" // for subject and event structs
#include <stdio.h>
#include <stdlib.h>
#include "ui.h"
#include <assert.h>
#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;
}
}
}