From 14ad2d456dc59510868ef91eb43cffdd6ff07cf7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 16 May 2025 12:18:00 +0200 Subject: [PATCH] 28.6.2 --- doppsort.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/doppsort.c b/doppsort.c index 0bf6204..e6a2932 100644 --- a/doppsort.c +++ b/doppsort.c @@ -9,7 +9,6 @@ typedef struct eintrag { struct eintrag *next_tel; } Eintrag; -// Eintrag in beide Listen einfügen void einfuegen(Eintrag **kopf_name, Eintrag **kopf_tel, char *name, int tel) { Eintrag *neu = malloc(sizeof(Eintrag)); @@ -18,14 +17,12 @@ void einfuegen(Eintrag **kopf_name, Eintrag **kopf_tel, char *name, int tel) { neu->next_name = NULL; neu->next_tel = NULL; - // Einfügen nach Namen sortiert Eintrag **p = kopf_name; while (*p && strcmp((*p)->name, name) < 0) p = &(*p)->next_name; neu->next_name = *p; *p = neu; - // Einfügen nach Telefonnummer sortiert p = kopf_tel; while (*p && (*p)->telefon < tel) p = &(*p)->next_tel; @@ -33,7 +30,6 @@ void einfuegen(Eintrag **kopf_name, Eintrag **kopf_tel, char *name, int tel) { *p = neu; } -// Ausgabe nach Namen sortiert void liste_name_ausgeben(Eintrag *kopf) { printf("\n...Liste nach Namen sortiert...\n"); while (kopf) { @@ -42,7 +38,6 @@ void liste_name_ausgeben(Eintrag *kopf) { } } -// Ausgabe nach Telefonnummer sortiert void liste_tel_ausgeben(Eintrag *kopf) { printf("\n...Liste nach Telefonnummer sortiert...\n"); while (kopf) { @@ -51,11 +46,10 @@ void liste_tel_ausgeben(Eintrag *kopf) { } } -// Speicher am Ende freigeben void speicher_freigeben(Eintrag *kopf) { Eintrag *temp; while (kopf) { - temp = kopf->next_name; // nur eine Liste reicht zum Freigeben + temp = kopf->next_name; free(kopf); kopf = temp; } @@ -76,8 +70,8 @@ int main() { printf("A - Ausgeben der Liste\n"); printf("E - Ende\n"); printf("Deine Wahl:"); - scanf(" %c", &wahl); - getchar(); // '\n' entfernen + scanf("%c", &wahl); + getchar(); switch (wahl) { case 'N': @@ -85,7 +79,7 @@ int main() { while (1) { printf("Name:"); fgets(name, sizeof(name), stdin); - name[strcspn(name, "\n")] = 0; // Zeilenumbruch entfernen + name[strcspn(name, "\n")] = 0; if (strlen(name) == 0) break; @@ -114,7 +108,6 @@ int main() { } } while (wahl != 'E' && wahl != 'e'); - // Speicher aufräumen speicher_freigeben(kopf_name); return 0;