From ed92d64f65283bae1f2856f7ded0ffe7a28bc5ab Mon Sep 17 00:00:00 2001 From: alexchilab Date: Fri, 16 May 2025 08:58:53 +0200 Subject: [PATCH] Program: 28.5.2.c --- 30.1.3.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 30.1.3.c diff --git a/30.1.3.c b/30.1.3.c new file mode 100644 index 0000000..fcaaca5 --- /dev/null +++ b/30.1.3.c @@ -0,0 +1,75 @@ +#include +#include + +#define MAXLEN 50 + +void getstring(char *ptr) +{ + fgets(ptr, MAXLEN, stdin); + ptr[strcspn(ptr, "\n")] = '\0'; + fflush(stdin); +} + +int eingabe(char *vorname, char *nachname, char *strasse, char *wohnort, char *hausnr, int *postleitzahl, char *telefon, char *fax) +{ + printf("Vorname\t\t:"); + getstring(vorname); + printf("Nachname\t:"); + getstring(nachname); + printf("Strasse\t\t:"); + getstring(strasse); + printf("Hausnummer\t:"); + getstring(hausnr); + printf("Postleitzahl\t:"); + if(scanf("%d", postleitzahl)!=1) + { + return 0; + } + fflush(stdin); + printf("Wohnort\t\t:"); + getstring(wohnort); + printf("Telefon\t\t:"); + getstring(telefon); + printf("Fax\t\t:"); + getstring(fax); + printf("Wie oft soll die Adresse in die Datei geschrieben werden?\t:"); + int anzahl; + if(scanf("%d", &anzahl)!=1) + { + return 0; + } + return anzahl; +} + +int main() +{ + FILE *ziel; + ziel = fopen("datei.txt", "a"); + + if (ziel == NULL) + { + printf("Fehler beim Öffnen der Datei\n"); + return 1; + } + + char vorname[MAXLEN], nachname[MAXLEN], strasse[MAXLEN], wohnort[MAXLEN], hausnr[MAXLEN], telefon[MAXLEN], fax[MAXLEN]; + int postleitzahl, anzahl; + + if((anzahl = eingabe(vorname, nachname, strasse, wohnort, hausnr, &postleitzahl, telefon, fax))==0) + { + return 0; + } + + fprintf(ziel, "-----------------------------------------------------\n"); + for (int i = 0; i < anzahl; i++) + { + fprintf(ziel, "%s %s\n", vorname, nachname); + fprintf(ziel, "%s %s\n", strasse, hausnr); + fprintf(ziel, "%d %s\n\n", postleitzahl, wohnort); + fprintf(ziel, "Tel. %s\n", telefon); + fprintf(ziel, "Fax %s\n", fax); + fprintf(ziel, "-----------------------------------------------------\n"); + } + fclose(ziel); + return 0; +} \ No newline at end of file