Posted By

gregorinalana on 11/11/12


Tagged


Versions (?)

listaPolje.h


 / Published in: C++
 

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

Datoteka zaglavlja koje se koristi u glavnom programu

  1. typedef int element;
  2. struct lista
  3. {
  4. int sifra[50], cijena[50], dan[50], mjesec[50], godina[50], pokazivac;
  5. char vrsta[50][50], naziv[50][50];
  6. };
  7. struct podaci
  8. {
  9. int sifra, cijena, dan, mjesec, godina;
  10. char vrsta[50], naziv[50];
  11. }zivotinja;
  12. lista* InitL(lista *l)
  13. {
  14. l = new lista;
  15. l -> pokazivac = 0;
  16. return l;
  17. }
  18. bool InsertL(podaci p, element e, lista *l)
  19. {
  20. int i;
  21. if(e == l -> pokazivac)
  22. {
  23. l -> pokazivac++;
  24. l -> sifra[e] = p.sifra;
  25. strcpy(l -> vrsta[e], p.vrsta);
  26. strcpy(l -> naziv[e], p.naziv);
  27. l -> cijena[e] = p.cijena;
  28. l -> dan[e] = p.dan;
  29. l -> mjesec[e] = p.mjesec;
  30. l -> godina[e] = p.godina;
  31. return 1;
  32. }
  33. else if((e <= l -> pokazivac) && (e >= 0))
  34. {
  35. for(i = l -> pokazivac; i >= e; i--)
  36. {
  37. l -> sifra[i] = l -> sifra[i - 1];
  38. strcpy(l -> vrsta[i], l -> vrsta[i - 1]);
  39. strcpy(l -> naziv[i], l -> naziv[i - 1]);
  40. l -> cijena[i], l -> cijena[i - 1];
  41. l -> dan[i], l -> dan[i - 1];
  42. l -> mjesec[i], l -> mjesec[i - 1];
  43. l -> godina[i], l -> godina[i - 1];
  44. }
  45. l -> pokazivac++;
  46. l -> sifra[e] = p.sifra;
  47. strcpy(l -> vrsta[e], p.vrsta);
  48. strcpy(l -> naziv[e], p.naziv);
  49. l -> cijena[e] = p.cijena;
  50. l -> dan[e] = p.dan;
  51. l -> mjesec[e] = p.mjesec;
  52. l -> godina[e] = p.godina;
  53. return 1;
  54. }
  55. else
  56. return 0;
  57. }
  58. element EndL(lista *l)
  59. {
  60. return l -> pokazivac;
  61. }
  62. element FirstL(lista *l)
  63. {
  64. if(l -> pokazivac == 0)
  65. EndL(l);
  66. return 0;
  67. }
  68. podaci RetrieveL(element e, lista *l)
  69. {
  70. if((e < l -> pokazivac) && (e >= 0))
  71. {
  72. zivotinja.sifra = l -> sifra[e];
  73. strcpy(zivotinja.vrsta, l -> vrsta[e]);
  74. strcpy(zivotinja.naziv, l -> naziv[e]);
  75. zivotinja.cijena = l -> cijena[e];
  76. zivotinja.dan = l -> dan[e];
  77. zivotinja.mjesec = l -> mjesec[e];
  78. zivotinja.godina = l -> godina[e];
  79. return zivotinja;
  80. }
  81. }
  82. element PreviousL(element e, lista *l)
  83. {
  84. if((e > l -> pokazivac) || (e <= 0))
  85. return 0;
  86. return(e-1);
  87. }
  88. element NextL(element e, lista *l)
  89. {
  90. if((e >= l -> pokazivac) || (e < 0))
  91. return 0;
  92. return(e + 1);
  93. }
  94. bool DeleteL(element e, lista *l)
  95. {
  96. int i;
  97. if((e < l -> pokazivac) && (e >= 0))
  98. {
  99. for(i = e; i < l -> pokazivac; i++)
  100. {
  101. l -> sifra[i] = l -> sifra[i + 1];
  102. strcpy(l -> vrsta[i], l -> vrsta[i + 1]);
  103. strcpy(l -> naziv[i], l -> naziv[i + 1]);
  104. l -> cijena[i], l -> cijena[i + 1];
  105. l -> dan[i], l -> dan[i + 1];
  106. l -> mjesec[i], l -> mjesec[i + 1];
  107. l -> godina[i], l -> godina[i + 1];
  108. }
  109. l -> pokazivac--;
  110. return 1;
  111. }
  112. else
  113. return 0;
  114. }
  115. element LocateL(podaci p, lista *l)
  116. {
  117. int i = 0;
  118. while((i != l -> pokazivac) && (l -> sifra[i] != p.sifra))
  119. i++;
  120. return i;
  121. }
  122. void DeleteAllL(lista *l)
  123. {
  124. l -> pokazivac = 0;
  125. }

Report this snippet  

You need to login to post a comment.