#include <stdio.h> #include <stdlib.h> #include <string.h> #include "datastructure.h" #include "cds.h" #include "tools.h" #include "datetime.h" unsigned int countCDs = 0; sCD CDData[MAXCDS]; void createCD() { if (countCDs == MAXCDS) { puts("Maximum number of cds reached!"); exit(0); } clearScreen(); puts("Erfassung einer neuen CD"); printLine('=', 50); (CDData + countCDs)->numberOfSongs = 0; getText("Geben Sie bitte den Titel der CD ein:", 35, &(CDData + countCDs)->title, 0); getText("Geben Sie bitte den Interpreten ein:", 35, &(CDData + countCDs)->artist, 1); getNumber("Geben Sie bitte das Erscheinungsjahr ein:", &(CDData + countCDs)->publicationYear, 1982, 2022); puts("Geben Sie bitte die Daten der Lieder ein:"); creatSong(); countCDs++; } void creatSong() { do { printf("Lied %i:\n", ((CDData + countCDs)->numberOfSongs) + 1); getText("Geben Sie bitte den Titel des Liedes ein:", 35, &(CDData + countCDs)->Songs[(CDData + countCDs)->numberOfSongs].title, 0); getText("Geben Sie bitte den Interpreten ein:", 35, &(CDData + countCDs)->Songs[(CDData + countCDs)->numberOfSongs].artist, 1); inputTime("Geben Sie bitte die Dauer des Liedes ein\n (Format hh:mm:ss oder mm:ss):\n -> ", &(CDData + countCDs)->Songs[(CDData + countCDs)->numberOfSongs].duration); (CDData + countCDs)->numberOfSongs++; } while ((askYesOrNo("Moechten Sie noch ein weiteres Lied eingeben (j/n)?")) && ((CDData + countCDs)->numberOfSongs) < MAXSONGS); } void editCd() { puts("editCd"); waitForEnter(); } void deleteCD() { puts("deleteCd"); waitForEnter(); } void searchSong() { puts("deleteCd"); waitForEnter(); } void sortCDs() { puts("SortCd"); waitForEnter(); } void ListCDs() { for (unsigned int i = 0; i < countCDs; i++) { putchar('\n'); printf("Titel : %s\n", (CDData + i)->title); if ((CDData + i)->artist) printf("artist : %s\n", (CDData + i)->artist); printf("Erscheinungsjahr : %i\n", (CDData + i)->publicationYear); printf("Anzahl Lieder : %i\n", (CDData + i)->numberOfSongs); puts("Lieder"); for (unsigned int j = 0; j < (CDData + i)->numberOfSongs; j++) { listOneSong(i, j); } } waitForEnter(); } void listOneSong(unsigned int i, unsigned int j) { if ((CDData + i)->Songs[j].artist) { printf("%.1i. %s (%s; ", (j + 1), (CDData + i)->Songs[j].title, (CDData + i)->Songs[j].artist); printTime((CDData + i)->Songs[j].duration, 1); puts(")"); } else { printf("%.1i. %s ( ", (j + 1), (CDData + i)->Songs[j].title); printTime((CDData + i)->Songs[j].duration, 1); puts(")"); } }