Program: 28.5.2.c

This commit is contained in:
Alex Chilab 2025-05-16 08:58:53 +02:00
parent ced22cc6fc
commit ed92d64f65

75
30.1.3.c Normal file
View File

@ -0,0 +1,75 @@
#include <stdio.h>
#include <string.h>
#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;
}