info2_uebungen/03_dateien/namesarchive.h
2025-10-23 13:41:23 +02:00

26 lines
956 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 addName(const char *name);
// Wie addName. Fügt Namen aber direkt sortiert hinzu. Voraussetzung ist ein bereits sortiertes Archiv.
int addNameSorted(const char *name);
// Entfernt den angegebenen Namen. Gibt bei Erfolg 1 zurück, ansonsten 0 (Name konnte nicht gefunden werden).
Status removeName(const char *name);
// Sortiert die Namen im Archiv aufsteigend.
void sortNames();
// Gibt die Namen zeilenweise aus.
void printNames();
Status saveNames(const char *path);
Status loadNames(const char *path);
#endif