diff --git a/03_modultechnik/namesarchive.c b/03_modultechnik/namesarchive.c index 0a83680..cc71db7 100644 --- a/03_modultechnik/namesarchive.c +++ b/03_modultechnik/namesarchive.c @@ -3,11 +3,22 @@ #include #include "namesarchive.h" +static char names[MAX_NAMES][MAX_NAME_LEN]; +static unsigned int numberOfNames = 0; + // 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) { - return 0; + if(numberOfNames < MAX_NAMES) + { + strncpy(names[numberOfNames], name, MAX_NAME_LEN); + names[numberOfNames][MAX_NAME_LEN-1] = '\0'; + numberOfNames++; + return 1; + } + else + return 0; } // Wie addName. Fügt Namen aber direkt sortiert hinzu. Voraussetzung ist ein bereits sortiertes Archiv. @@ -31,5 +42,8 @@ void sortNames() // Gibt die Namen zeilenweise aus. void printNames() { - + for(int i = 0; i < numberOfNames; i++) + { + printf("%s\n", names[i]); + } } \ No newline at end of file