Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct dane
  5. {
  6.     int id;
  7.     char nazwisko[15];
  8.     char imie[15];
  9.     char miasto[15];
  10.     char ulica[15];
  11.     char numer[6];
  12.     char kod_pocztowy[7];
  13.     char poczta[15];
  14.     struct adresy *pierwszya;
  15.     struct numery *pierwszyn;
  16.     struct dane *nastepna;
  17.     }dane;
  18.  
  19.  
  20.     struct adresy {
  21.         char mail[20];
  22.         struct adresy *nastepnya;
  23.     }adresy;
  24.  
  25.     struct numery {
  26.         char telefon[10];
  27.         struct numery *nastepnyn;
  28.     }numery;
  29.  
  30. struct adresy *dodawaniea(struct adresy *pierwszy){
  31.  
  32.     struct adresy *adres = (struct adresy *)malloc(sizeof(struct adresy));
  33.     scanf(" %s",adres->mail);
  34.     adres->nastepnya=pierwszy;
  35.     pierwszy=adres;
  36.     return pierwszy;
  37. }
  38. struct numery *dodawanien(struct numery *pierwszy){
  39.  
  40.     struct numery *numer = (struct numery *)malloc(sizeof(struct numery));
  41.     scanf(" %s",numer->telefon);
  42.     numer->nastepnyn=pierwszy;
  43.     pierwszy=numer;
  44.     return pierwszy;
  45. }
  46.  
  47. struct dane *wypelnianie(struct dane *pierwsza)
  48. {
  49.     char i;
  50.  
  51.     system("cls");
  52.     struct dane *osoba = (struct dane *)malloc(sizeof(struct dane));
  53.     printf("ID: \n");
  54.     scanf(" %d",&osoba->id);
  55.     printf("Nazwisko: \n");
  56.     scanf(" %s",osoba->nazwisko);
  57.     printf("Imie: \n");
  58.     scanf(" %s",osoba->imie);
  59.     printf("Miasto: \n");
  60.     scanf(" %s",osoba->miasto);
  61.     printf("Ulica: \n");
  62.     scanf(" %s",osoba->ulica);
  63.     printf("Numer budynku/mieszkania: \n");
  64.     scanf(" %s",osoba->numer);
  65.     printf("Kod pocztowy: \n");
  66.     scanf(" %s",osoba->kod_pocztowy);
  67.     printf("Poczta: \n");
  68.     scanf(" %s",osoba->poczta);
  69.     osoba->pierwszyn=NULL;
  70.     do {
  71.     printf("Telefon: \n");
  72.     osoba->pierwszyn=dodawanien(osoba->pierwszyn);
  73.     puts("czy chcesz podac wiecej numerow T/N");
  74.     scanf(" %c",&i);
  75.     } while(i!='N'&&i!='n');
  76.     osoba->pierwszya=NULL;
  77.     do {
  78.     printf("Mail: \n");
  79.     osoba->pierwszya=dodawaniea(osoba->pierwszya);
  80.     puts("czy chcesz podac wiecej emaili T/N");
  81.     scanf(" %c",&i);
  82.     } while(i!='N'&&i!='n');
  83.     osoba->nastepna=pierwsza;
  84.     pierwsza=osoba;
  85. return pierwsza;
  86. }
  87. void wyswietlanie(struct dane *pierwsza){
  88.     struct dane *tmp = (struct dane *)malloc(sizeof(struct dane));
  89. while (pierwsza){
  90.         printf("%d ", pierwsza->id);
  91.         printf("%s ", pierwsza->nazwisko);
  92.         printf("%s ", pierwsza->imie);
  93.         printf("%s ", pierwsza->miasto);
  94.         printf("%s ", pierwsza->ulica);
  95.         printf("%s ", pierwsza->numer);
  96.         printf("%s ", pierwsza->kod_pocztowy);
  97.         printf("%s ", pierwsza->poczta);
  98.         struct numery *tmp1=(pierwsza->pierwszyn);
  99.         struct adresy *tmp2=(pierwsza->pierwszya);
  100.         while(tmp1){
  101.           printf("%s ",tmp1->telefon);
  102.             tmp1=(tmp1->nastepnyn);
  103.         }
  104.  
  105.         while(tmp2){
  106.             printf("%s ",tmp2->mail);
  107.             tmp2=(tmp2->nastepnya);
  108.         }
  109.  
  110.  
  111.         puts("");
  112.         pierwsza=pierwsza->nastepna;
  113.     }
  114.     puts("Aby kontynuowac wcisnij dowolny przycisk");
  115.     getch();
  116. }
  117. void menu(struct dane *pierwsza){
  118.         char i;
  119.  
  120.         do
  121.         {
  122.             system("cls");
  123.             printf("1. Dodawanie \n");
  124.             printf("2. Wyswietlanie\n");
  125.             printf("0. Wyjscie\n\n");
  126.             printf("Twoj wybor: ");
  127.             scanf(" %c",&i);
  128.                         if (i == '1') pierwsza=wypelnianie(pierwsza);
  129.             else if (i == '2') wyswietlanie(pierwsza);
  130.         } while (i != '0');
  131.     }
  132.  
  133.  
  134. int main()
  135. {
  136.         struct dane *pierwsza=NULL;
  137.  
  138.     menu(pierwsza);
  139.  
  140.     return 0;
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement