Hallo ich habe versucht ein Programm zu schreiben bei dem man Daten von der Familie angibt ,diese wieder ausgeben und in eine .txt datei gespeichert werden. Derzeit stecke ich bei der Ausgabe, weil alles umgewandelt wurde in (glaube ich ) ASCII zeichen und nicht weiß wie ich diese wieder zurückwandle.
Des weitere habe ich ein Problem mit dem Speicher, denn ich will eigentlich mit malloc und sizeof arbeiten aber kann es nicht richtig anwenden. Vielleicht könnte mir da auch wer weriterhelfen. Dort wo der Kommentar im Code steht.
PS: bitte keine kommentare zu gets() , ich weiß, dass es unsicher ist aber es war einfach kürzer und nur zu übungszwecken im Bereich Struktur. Danke.
Bei weiteren Infos einfach fragen. Danke schon mal.
EDIT: Achja das Ergebnis sieht dann ca so aus.
Code:
#include<stdio.h>
#include<stdlib.h>
struct bday
{
int day,month,year;
}date;
struct familie
{
char vorname[20];
char nachname[20];
struct bday date;
};
struct familie daten_abfragen(int anzahl);
int main()
{
char num[20];
int numb,z;
struct familie daten[10];/*Hier würde ich gern mit malloc arbeiten, damit ich nicht die Grenz schon festlegen muss.*/
printf("Geben Sie die Daten Ihrer engen Familie an!\n");
printf("Wieviele Mitglieder möchten Sie eintragen?(MAX 10)");
numb=atoi(gets(num));
printf("Sie wollen %i Mitglieder angeben.\n",numb);
daten_abfragen(numb);
printf("\n\nHier die Daten Ihrer Familie:\n");
for(z=0;z<numb;z++)
{
printf("%s %s,geboren am %i.%i.%i.\n",daten[z].vorname,daten[z].nachname,daten[z].date.day,daten[z].date.month,daten[z].date.year);
}
}
struct familie daten_abfragen(int anzahl)
{
struct familie daten;
char input[20];
int i;
for(i=0;i<anzahl;i++)
{
printf("%i.\n",(i+1));
printf("Vorname:");
gets(daten.vorname);
printf("Nachname:");
gets(daten.nachname);
printf("Geburtsdatum:");
printf("Tag:");
daten.date.day=atoi(gets(input));
printf("Monat:");
daten.date.month=atoi(gets(input));
printf("Jahr:");
daten.date.year=atoi(gets(input));
}
return daten;
}
Des weitere habe ich ein Problem mit dem Speicher, denn ich will eigentlich mit malloc und sizeof arbeiten aber kann es nicht richtig anwenden. Vielleicht könnte mir da auch wer weriterhelfen. Dort wo der Kommentar im Code steht.
PS: bitte keine kommentare zu gets() , ich weiß, dass es unsicher ist aber es war einfach kürzer und nur zu übungszwecken im Bereich Struktur. Danke.
Bei weiteren Infos einfach fragen. Danke schon mal.
EDIT: Achja das Ergebnis sieht dann ca so aus.
Zuletzt bearbeitet: