Posted By

gregorinalana on 11/11/12


Tagged


Versions (?)

listaPokazivac.h


 / Published in: C++
 

URL: http://snipplr.com/edit/68227

Lista pokazivaca koji se koriste u glavnom programu

  1. struct lista
  2. {
  3. int sifra, cijena, dan, mjesec, godina;
  4. char vrsta[50], naziv[50];
  5. lista *sljedeci;
  6. };
  7. struct podaci
  8. {
  9. int sifra, cijena, dan, mjesec, godina;
  10. char vrsta[50], naziv[50];
  11. }zivotinja;
  12. typedef struct lista* element;
  13. lista* InitL(lista *l)
  14. {
  15. l = new lista;
  16. l -> sljedeci = NULL;
  17. return l;
  18. }
  19. bool InsertL(podaci p, element e, lista *l)
  20. {
  21. lista *z = l, *novi = new lista;
  22. while(z -> sljedeci != e)
  23. z = z -> sljedeci;
  24. novi -> sifra = p.sifra;
  25. strcpy(novi -> vrsta, p.vrsta);
  26. strcpy(novi -> naziv, p.naziv);
  27. novi -> cijena = p.cijena;
  28. novi -> dan = p.dan;
  29. novi -> mjesec = p.mjesec;
  30. novi -> godina = p.godina;
  31. novi -> sljedeci = e;
  32. z -> sljedeci = novi;
  33. return 1;
  34. }
  35. element EndL(lista *l)
  36. {
  37. lista *z = l;
  38. while(z)
  39. z = z -> sljedeci;
  40. return z;
  41. }
  42. element FirstL(lista *l)
  43. {
  44. if(l -> sljedeci == NULL)
  45. return EndL(l);
  46. return l -> sljedeci;
  47. }
  48. podaci RetrieveL(element e, lista *l)
  49. {
  50. zivotinja.sifra = e -> sifra;
  51. strcpy(zivotinja.vrsta, e -> vrsta);
  52. strcpy(zivotinja.naziv, e -> naziv);
  53. zivotinja.cijena = e -> cijena;
  54. zivotinja.dan = e -> dan;
  55. zivotinja.mjesec = e -> mjesec;
  56. zivotinja.godina = e -> godina;
  57. return zivotinja;
  58. }
  59. element PreviousL(element e, lista *l)
  60. {
  61. lista *z = l -> sljedeci;
  62. if(e == l -> sljedeci)
  63. exit(0);
  64. while(e != z -> sljedeci && z -> sljedeci != NULL)
  65. z = z -> sljedeci;
  66. return z;
  67. }
  68. element NextL(element e, lista *l)
  69. {
  70. return e -> sljedeci;
  71. }
  72. bool DeleteL(element e, lista *l)
  73. {
  74. lista *z = l;
  75. while(z -> sljedeci != e)
  76. z = z -> sljedeci;
  77. z -> sljedeci = e -> sljedeci;
  78. delete e;
  79. return 1;
  80. }
  81. element LocateL(podaci p, lista *l)
  82. {
  83. lista *z = l -> sljedeci;
  84. while(z != NULL && z -> sifra != p.sifra)
  85. z = z -> sljedeci;
  86. return z;
  87. }
  88. void DeleteAllL(lista *l)
  89. {
  90. element z;
  91. while(l -> sljedeci != NULL)
  92. {
  93. z = l -> sljedeci;
  94. l -> sljedeci = l -> sljedeci -> sljedeci;
  95. delete z;
  96. }
  97. }

Report this snippet  

You need to login to post a comment.