Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- struct dzieci{
- char *nazwisko;
- int rok;
- struct dzieci *next;
- };
- struct rodzic{
- char *nazwisko;
- int rok;
- int liczba_dzieci;
- struct dzieci *next;
- };
- void dodaj_dane(struct rodzic tab[4]){
- int i,j, l;
- struct dzieci *tmp;
- char bufor [25];
- for (i=0; i<4; ++i){
- tab[i].next=NULL;
- printf("Rodzic %d.\n", i+1);
- if (i!=0) {getchar();}
- printf("Podaj nazwisko: ");
- fgets(bufor, 25, stdin);
- l=strlen(bufor)+1;
- (tab[i]).nazwisko=(char *)malloc(l*sizeof(char));
- strcpy(tab[i].nazwisko, bufor);
- printf("Podaj rok urodzenia: ");
- scanf("%d", &(tab[i].rok));
- printf("Podaj ilosc dzieci: ");
- scanf("%d", &(tab[i].liczba_dzieci));
- for (j=0; j<tab[i].liczba_dzieci; ++j){
- tmp=(struct dzieci *)malloc(sizeof(struct dzieci));
- printf("Podaj dane %d dziecka\n", j+1);
- tmp->nazwisko=(char *)malloc(l*sizeof(char));
- strcpy(tmp->nazwisko, tab[i].nazwisko);
- printf("Podaj date urodzenia: ");
- scanf("%d", &(tmp->rok));
- tmp->next=tab[i].next;
- tab[i].next=tmp;
- }
- }
- }
- void wyswietl(struct rodzic tab[2]){
- int i;
- struct dzieci *tmp;
- for(i=0; i<4; ++i){
- printf("RODZIC\n");
- printf("Nazwisko: %s", tab[i].nazwisko);
- printf("Rok urodzenia: %d\n", tab[i].rok);
- if (tab[i].liczba_dzieci>0){
- printf("JEGO DZIECI\n");
- tmp=tab[i].next;
- while(tmp != NULL){
- printf("Nazwisko: %s", tmp->nazwisko);
- printf("Rok urodzin dziecka: %d\n", tmp->rok);
- tmp=tmp->next;
- }
- }
- }
- }
- int main(void){
- struct rodzic tab[4];
- dodaj_dane(tab);
- wyswietl(tab);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement