Advertisement
VIKTOR21

qwert

May 28th, 2015
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. main.c
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include "imeprezime.c" // ukoliko stavimo samo pod navodnike ime fajla to trazi u folderu gdje je i sam ovaj program
  6. // pod navodnike ide putanja
  7.  
  8. int main()
  9.  
  10. {
  11. int izbor, pravilan_unos;
  12. TOsoba *glava_liste = NULL;
  13.  
  14.  
  15. do
  16. {
  17. do{
  18. printf("1. Unos na pocetak liste\n");
  19. printf("2. Unos na kraj liste\n");
  20. printf("3. Pregled sadrzaja elemenata cvorova liste\n");
  21. printf("4. Brisanje svih cvorova liste liste\n");
  22. printf("5. Brisanje cvorova liste po kriterijumu liste\n");
  23. printf("6. Izlaz liste\n");
  24. printf("Vas izbora: \n");
  25.  
  26. if (scanf("%d", &izbor) == 0)
  27. {
  28. printf("Niste unijeli cjelobrojnu vrijednost\n");
  29. pravilan_unos = 0;
  30. while (getchar()!='\n');
  31. }
  32. else
  33. {
  34. if(izbor >= 1 && izbor <= 6)
  35. {
  36. pravilan_unos = 1;
  37. getchar();
  38. }
  39. else
  40. {
  41. printf("Unijeli ste cjelobrojnu vrijednost koja nije u nizu");
  42. pravilan_unos = 0;
  43. }
  44. }
  45. }
  46. while(pravilan_unos == 0);
  47.  
  48. if (izbor == 1)
  49. glava_liste = unos_na_pocetak(glava_liste);
  50. else if (izbor == 2)
  51. glava_liste = unos_na_kraj(glava_liste);
  52. else if (izbor == 3)
  53. pregled(glava_liste);
  54. else if (izbor == 4)
  55. printf("Pokreni ovje opciju 4");
  56. else if (izbor == 5)
  57. printf("55555555555\n");
  58. else if (izbor == 6)
  59. return 0;
  60.  
  61. }
  62. while (1);
  63.  
  64.  
  65.  
  66. return 0;
  67. }
  68.  
  69.  
  70.  
  71. imeprezime.c
  72.  
  73. #include <stdio.h>
  74. #include <stdlib.h>
  75.  
  76.  
  77. typedef struct osoba
  78.  
  79. {
  80. char prezime[20];
  81. int starost;
  82. struct osoba *sledeca;
  83. }TOsoba;
  84.  
  85. unosp.c
  86.  
  87. #include <stdio.h>
  88. #include <stdlib.h>
  89. #include "imeprezime.c"
  90.  
  91.  
  92. TOsoba *unos_na_pocetak (TOsoba *glava)
  93. {
  94. TOsoba *nova;
  95. nova = malloc(sizeof(TOsoba)); // rezervise u memoriji mjesto koje nam je potrebno za osobu i vraca pocetnu adresu u promjenljivu nova
  96.  
  97. printf("Novi cvor pocinje na adresi %d \n", &nova);
  98.  
  99. printf("Unesite prezime i ime osobe \n");
  100. gets( nova->prezime );
  101. printf("Unesite starost osobe \n");
  102. scanf("%d", &nova -> starost);
  103. nova -> sledeca = NULL;
  104.  
  105.  
  106. nova -> sledeca = glava;
  107. glava = nova;
  108.  
  109. return glava;
  110. }
  111.  
  112.  
  113. pregled.c
  114.  
  115.  
  116. #include <stdio.h>
  117. #include <stdlib.h>
  118. #include "imeprezime.c"
  119.  
  120.  
  121.  
  122. void pregled(TOsoba *glava)
  123. {
  124. while (glava)
  125. {
  126. printf("%p %s %d %p\n", glava, glava -> prezime, glava -> starost, glava -> sledeca);
  127. glava = glava -> sledeca;
  128. }
  129.  
  130. }
  131.  
  132.  
  133. unosk.c
  134.  
  135. #include <stdio.h>
  136. #include <stdlib.h>
  137. #include "imeprezime.c"
  138.  
  139.  
  140. TOsoba *unos_na_kraj (TOsoba *glava)
  141. {
  142. TOsoba *nova;
  143. nova = malloc(sizeof(TOsoba)); // rezervise u memoriji mjesto koje nam je potrebno za osobu i vraca pocetnu adresu u promjenljivu nova
  144.  
  145. printf("Novi cvor pocinje na adresi %p \n", nova);
  146.  
  147. printf("Unesite prezime i ime osobe \n");
  148. gets( nova->prezime );
  149. printf("Unesite starost osobe \n");
  150. scanf("%d", &nova -> starost);
  151. nova -> sledeca = NULL;
  152.  
  153.  
  154. if (glava == NULL)
  155. {
  156. glava = nova;
  157. }
  158. else
  159. {
  160. TOsoba *nadji_zadnji = glava;
  161. while (nadji_zadnji -> sledeca != NULL)
  162. nadji_zadnji = nadji_zadnji -> sledeca;
  163. nadji_zadnji -> sledeca = nova;
  164. }
  165.  
  166.  
  167. return glava;
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement