Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Definirati strukturu osoba (ime, prezime, godina rođenja) i napisati program koji:
- a)dinamički dodaje novi element na početak liste,
- b)ispisuje listu,
- c)dinamički dodaje novi element na kraj liste,
- d)pronalazi element u listi (po prezimenu),
- e)briše određeni element iz liste,
- U zadatku se ne smiju koristiti globalne varijable*/
- #define _CRT_SECURE_NO_WARNINGS
- #define MAX_NAME 40
- #include<stdio.h>
- #include<string.h>
- #include<stdlib.h>
- //Struktura
- struct osoba;
- typedef struct osoba* Posoba;
- struct osoba
- {
- char ime[MAX_NAME];
- char prezime[MAX_NAME];
- int godina_rodjenja;
- Posoba Next;
- };
- //Funkcije
- int unos(Posoba);
- int ispis_liste(Posoba);
- int main()
- {
- struct osoba Head;
- int x = 0;
- Head.Next = NULL;
- x=unos(&Head);
- if (x != 1)
- printf("Greska tokom unosa!\n");
- ispis_liste(Head.Next);
- getchar();
- getchar();
- return 0;
- }
- //Unos elementa liste
- int unos(Posoba P)
- {
- Posoba q;
- q = (Posoba)malloc(sizeof(struct osoba));
- if (q == NULL)
- {
- printf("Greska prilikom alokacije memorije");
- return -1;
- }
- else
- {
- printf("Unesite ime prezime i godinu rodjenja osobe\n");
- scanf(" %s %s %d", q->ime, q->prezime, &q->godina_rodjenja);
- q->Next = P->Next;
- P->Next = q;
- return 1;
- }
- }
- //Ispis liste od poslanog clana
- int ispis_liste(Posoba P)
- {
- printf("Ispis Liste:\n");
- if (P == NULL)
- {
- printf("Prazna lista");
- return -1;
- }
- else
- {
- while (P != NULL)
- {
- printf("Ime: %s Prezime: %s Godina Rodjenja %d", P->ime, P->prezime, P->godina_rodjenja);
- P = P->Next;
- return 1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement