Posted By

mronki on 11/07/12


Tagged

list array function pointer ATP


Versions (?)

polje.h


 / Published in: C++
 

polje.h header

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. bool PV=true;
  5.  
  6. struct tdatum {
  7. int dan,Bmjesec,godina;
  8. char Rmjesec[10];
  9. };
  10. struct telement {
  11. int sifra;
  12. float cijena;
  13. char vrsta[100], naziv[100];
  14. tdatum datum;
  15. };
  16. struct lis{
  17. telement element[1000];
  18. int cursor;
  19. };
  20. typedef int el;
  21. typedef lis lista;
  22.  
  23. el FirstL(lista *zivotinje){
  24. return 0;
  25. }
  26.  
  27. el EndL (lista *zivotinje){
  28. return zivotinje->cursor;
  29. }
  30.  
  31. el NextL (el pozicija,lista *zivotinje){
  32. if (pozicija==EndL(zivotinje)) cout<<"Error!\n";
  33. return pozicija+1;
  34. }
  35.  
  36. el PreviousL (el pozicija, lista *zivotinje){
  37. if (pozicija==FirstL(zivotinje)) cout<<"Error!\n";
  38. return pozicija-1;
  39. }
  40.  
  41. el LocateL (telement trazeni, lista *zivotinje){
  42. if (PV){
  43. for (el i=0;i<zivotinje->cursor;i++)
  44. if (!(strcmp(trazeni.naziv,zivotinje->element[i].naziv))) return i;}
  45. else{
  46. for (el i=0;i<zivotinje->cursor;i++)
  47. if (!(strcmp(trazeni.vrsta,zivotinje->element[i].vrsta))) return i;}
  48. return zivotinje->cursor;
  49. }
  50.  
  51. int InsertL (telement novi, el pozicija, lista *zivotinje){
  52. if (pozicija<=EndL(zivotinje)&&pozicija>=FirstL(zivotinje)){
  53. zivotinje->cursor++;
  54. for (int i=zivotinje->cursor-2;i>=pozicija;i--)
  55. zivotinje->element[i+1]=zivotinje->element[i];
  56. zivotinje->element[pozicija]=novi;
  57. return 1;}
  58. return 0;
  59. }
  60.  
  61. int DeleteL (el pozicija, lista *zivotinje){
  62. if (pozicija<EndL(zivotinje)&&pozicija>=FirstL(zivotinje)){
  63. for (int i=pozicija; i<zivotinje->cursor-1;i++)
  64. zivotinje->element[i]=zivotinje->element[i+1];
  65. zivotinje->cursor--;
  66. return 1;}
  67. return 0;
  68. }
  69.  
  70. telement RetreiveL (el pozicija, lista *zivotinje){
  71. return zivotinje->element[pozicija];}
  72.  
  73. void DeleteAllL (lista *zivotinje){
  74. zivotinje->cursor=0;
  75. }
  76.  
  77. lista *InitL (lista *zivotinje){
  78. zivotinje=new lista;
  79. zivotinje->cursor=0;
  80. return zivotinje;
  81. }

Report this snippet  

You need to login to post a comment.