Witam
Muszę zrobić zadanie w którym trzeba użyć struktury dla 4 członków rodziny.Struktura ma być uzupełniona z klawiatury a dostęp do tej struktury ma się odbywać wyłącznie za pomocą wskaźników. I tutaj pojawia się mój problem ponieważ nie do końca wiem jak użyć tych wskaźników. Póki co wykombinowałem coś takiego ale ostateczne wypisanie poprzez funkcje druk zjada litery z imion/nazwiska. Proszę o pomoc jak poprawnie zrealizować to zadanie.
#include<stdio.h>
#include<stdlib.h>
typedef struct osoba
{
char imie[16];
char nazwisko[16];
int wiek;
}osoba;
void funkcja (osoba *posoba,int i ,char c[],char s[])
{
strcpy(posoba->imie,c);
strcpy(posoba->nazwisko,s);
posoba->wiek=i;
printf("%s,%s,%i\n\n",posoba->imie,posoba->nazwisko,posoba->wiek);
};
void druk(osoba *os,osoba *os1,osoba *os2,osoba *os3)
{
printf("%s,%s,%i\n",os->imie,os->nazwisko,os->wiek);
printf("%s,%s,%i\n",os1->imie,os1->nazwisko,os1->wiek);
printf("%s,%s,%i\n",os2->imie,os2->nazwisko,os2->wiek);
printf("%s,%s,%i\n",os3->imie,os3->nazwisko,os3->wiek);
};
int main(void)
{
int i;
char c[16],s[16];
osoba tata,dziecko,dziecko1,mama;
osoba *ptata,*pmama,*pdziecko,*pdziecko1;
ptata=&tata;
pmama=&mama;
pdziecko1=&dziecko1;
pdziecko=&dziecko;
printf("Imie taty:");
scanf("%s",&c);
printf("Nazwistko taty:");
scanf("%s",&s);
printf("Wiek taty:");
scanf("%i",&i);
funkcja(&ptata,i,c,s);
printf("Imie mamy:");
scanf("%s",&c);
printf("Nazwistko mamy:");
scanf("%s",&s);
printf("Wiek mamy:");
scanf("%i",&i);
funkcja(&pmama,i,c,s);
printf("Imie dziecka1:");
scanf("%s",&c);
printf("Nazwistko dziecka1:");
scanf("%s",&s);
printf("Wiek dziecka1:");
scanf("%i",&i);
funkcja(&pdziecko,i,c,s);
printf("Imie dziecka2:");
scanf("%s",&c);
printf("Nazwistko dziecka2:");
scanf("%s",&s);
printf("Wiek dziecka2:");
scanf("%i",&i);
funkcja(&pdziecko1,i,c,s);
druk(&ptata,&pmama,&pdziecko,&pdziecko1);
return EXIT_SUCCESS;
}