Advertisement
Crackbone

SP z2 (wip)

Oct 18th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.61 KB | None | 0 0
  1. /*Definirati strukturu osoba (ime, prezime, godina rođenja) i napisati program koji:
  2. a)dinamički dodaje novi element na početak liste,
  3. b)ispisuje listu,
  4. c)dinamički dodaje novi element na kraj liste,
  5. d)pronalazi element u listi (po prezimenu),
  6. e)briše određeni element iz liste,
  7. U zadatku se ne smiju koristiti globalne varijable*/
  8.  
  9.  
  10.  
  11.  
  12. #define _CRT_SECURE_NO_WARNINGS
  13. #define MAX_NAME 40
  14.  
  15. #include<stdio.h>
  16. #include<string.h>
  17. #include<stdlib.h>
  18. //Struktura
  19. struct osoba;
  20. typedef struct osoba* Posoba;
  21. struct osoba
  22. {
  23.     char ime[MAX_NAME];
  24.     char prezime[MAX_NAME];
  25.     int godina_rodjenja;
  26.     Posoba Next;
  27.  
  28. };
  29. //Funkcije
  30.  
  31. int unos(Posoba);
  32. int ispis_liste(Posoba);
  33.  
  34.  
  35. int main()
  36. {
  37.     struct osoba Head;
  38.     int x = 0;
  39.     Head.Next = NULL;
  40.     x=unos(&Head);
  41.     if (x != 1)
  42.         printf("Greska tokom unosa!\n");
  43.     ispis_liste(Head.Next);
  44.    
  45.    
  46.     getchar();
  47.     getchar();
  48.     return 0;
  49. }
  50.  
  51.  
  52. //Unos elementa liste
  53. int unos(Posoba P)
  54. {
  55.     Posoba q;
  56.     q = (Posoba)malloc(sizeof(struct osoba));
  57.     if (q == NULL)
  58.     {
  59.         printf("Greska prilikom alokacije memorije");
  60.         return -1;
  61.     }
  62.     else
  63.     {
  64.         printf("Unesite ime prezime i godinu rodjenja osobe\n");
  65.         scanf(" %s %s %d", q->ime, q->prezime, &q->godina_rodjenja);
  66.  
  67.         q->Next = P->Next;
  68.         P->Next = q;
  69.         return 1;
  70.     }
  71.    
  72. }
  73. //Ispis liste od poslanog clana
  74. int ispis_liste(Posoba P)
  75. {
  76.     printf("Ispis Liste:\n");
  77.     if (P == NULL)
  78.     {
  79.        
  80.         printf("Prazna lista");
  81.         return -1;
  82.     }
  83.     else
  84.     {
  85.         while (P != NULL)
  86.         {
  87.            
  88.             printf("Ime: %s   Prezime: %s   Godina Rodjenja %d", P->ime, P->prezime, P->godina_rodjenja);
  89.             P = P->Next;
  90.             return 1;
  91.         }
  92.  
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement