2025-10-30 13:22:22 +01:00

25 lines
934 B
C

#ifndef NAMEARCHIVE_H
#define NAMEARCHIVE_H
// Maximale Namenslänge
#define MAX_NAME_LEN 10
// Maximale Anzahl an Namen
#define MAX_NAMES 100
typedef enum {IO_ERROR, STATUS_OK, REMOVE_ERROR} Status;
// Fügt einen Namen hinzu. Im Fehlerfall (Archiv ist voll) soll 0, ansonsten 1 zurückgegeben werden.
// Ist der angegebene Name länger als die zulässige Namenslänge, wird der Name abgeschnitten hinzugefügt. Rückgabe ist dann 1.
int addStudent(const char *name, unsigned int id);
// Wie addName. Fügt Namen aber direkt sortiert hinzu. Voraussetzung ist ein bereits sortiertes Archiv.
int addStudentSorted(const char *name, unsigned int id);
// Entfernt den angegebenen Namen. Gibt bei Erfolg 1 zurück, ansonsten 0 (Name konnte nicht gefunden werden).
Status removeStudent(const char *name);
// Sortiert die Namen im Archiv aufsteigend.
void sortStudents();
// Gibt die Namen zeilenweise aus.
void printStudents();
#endif