Add file io solutions.
This commit is contained in:
1 parent
3b5d111351
commit
45336b083c
3 files changed
+143
-41
No files matched your search
+29
-25
@@ -1,11 +1,8 @@
|
||||
/*
|
||||
* Verwenden Sie Ihre Lösung für das Namensarchiv mittels eines binären Suchbaums. Ergänzen Sie das Modul um zwei Funktionen,
|
||||
* mit denen das bestehende Archiv um Namen erweitert wird, die in einer vorhandenen Textdatei stehen, bzw. den Inhalt des Archivs
|
||||
* in eine bestimmte Textdatei sortiert speichern. Details entnehmen Sie wieder der namesarchive.h.
|
||||
*
|
||||
* Welcher Nachteil ergibt sich für einen binären Suchbaum, wenn beliebige Namen zunächst aus einer Datei eingelesen werden,
|
||||
* sortiert wieder in Datei geschrieben werden und anschließend wieder neu aus der Datei geladen werden?
|
||||
* (Also im Prinzip bei der zweiten Ausführung des untenstehenden Programms)
|
||||
* Vervollständigen Sie das untenstehende Programm, indem Sie das Modul namesarchive in der
|
||||
* namesarchive.h bzw. namesarchive.c implementieren.
|
||||
* Die öffentlichen Schnittstellen mit genaueren Details entnehmen Sie der namesarchive.h.
|
||||
* Das Programm soll das Modul als dynamische Laufzeitbibliothek nutzen.
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -21,14 +18,34 @@ char *inputName(const char *promptText, char *buffer, unsigned int bufferSize);
|
||||
int main()
|
||||
{
|
||||
char buffer[MAX_BUFFER_LEN];
|
||||
const char *filePath = "names.txt";
|
||||
|
||||
if(!loadArchive(filePath))
|
||||
loadArchive("archive.txt");
|
||||
|
||||
while((inputName("Namen hinzufuegen: ", buffer, MAX_BUFFER_LEN) != NULL) && (strlen(buffer) > 0))
|
||||
{
|
||||
printf("Die Textdatei %s konnte nicht geladen werden.\n", filePath);
|
||||
if(addName(buffer))
|
||||
printf("%s wurde dem Archiv hinzugefuegt.\n", buffer);
|
||||
else
|
||||
printf("Fehler! %s konnte nicht hinzugefuegt werden.\n", buffer);
|
||||
}
|
||||
|
||||
printf("\nNach Laden:\n");
|
||||
printf("\nNach Eingabe:\n");
|
||||
printNames();
|
||||
|
||||
printf("\nNach Sortierung:\n");
|
||||
sortNames();
|
||||
printNames();
|
||||
printf("\n");
|
||||
|
||||
while((inputName("Namen sortiert hinzufuegen: ", buffer, MAX_BUFFER_LEN) != NULL) && (strlen(buffer) > 0))
|
||||
{
|
||||
if(addNameSorted(buffer))
|
||||
printf("%s wurde dem Archiv hinzugefuegt.\n", buffer);
|
||||
else
|
||||
printf("Fehler! %s konnte nicht hinzugefuegt werden.\n", buffer);
|
||||
}
|
||||
|
||||
printf("\nNach sortierter Eingabe:\n");
|
||||
printNames();
|
||||
printf("\n");
|
||||
|
||||
@@ -42,21 +59,8 @@ int main()
|
||||
|
||||
printf("\nNach Entfernen:\n");
|
||||
printNames();
|
||||
printf("\n");
|
||||
|
||||
if(saveArchive(filePath))
|
||||
{
|
||||
printf("Archiv erfolgreich unter %s gespeichert.\n", filePath);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Fehler beim Speichern des Archivs unter %s.\n", filePath);
|
||||
}
|
||||
|
||||
printf("\nGebe Speicher frei ...\n");
|
||||
clearArchive();
|
||||
|
||||
printf("Beende Programm ...\n");
|
||||
saveArchive("archive.txt");
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user