Posted By

MFilip on 11/12/12


Tagged

lista polje


Versions (?)

lista_polje.h


 / Published in: C++
 

lista polje

  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. typedef int element;
  6. struct zivotinje
  7. {
  8. int sifra;
  9. char vrsta[50];
  10. char naziv[50];
  11. int cijena;
  12. int d;
  13. int m;
  14. int g;
  15. };
  16. struct lis
  17. {
  18. zivotinje values[50];
  19. int cursor;
  20. };
  21. lis list;
  22. int EndL(lis list)
  23. {
  24. return list.cursor;
  25. }
  26. int FirstL(lis list)
  27. {
  28. if(list.cursor == 0)
  29. return EndL(list);
  30. else
  31. return 0;
  32. }
  33. int NextL(int p, lis list)
  34. {
  35. if(p == list.cursor-1)
  36. return EndL(list);
  37. if(p == EndL(list))
  38. cout << "Funkcija nije definirana" << endl;
  39. else
  40. return p+1;
  41. }
  42. int PreviousL(int p, lis list)
  43. {
  44. return p-1;
  45. }
  46. int LocateL(char x[], lis list)
  47. {
  48. for(int i=0; i<list.cursor; i++)
  49. if((strncmp(x,list.values[i].naziv,sizeof(x))==0) || (strncmp(x,list.values[i].vrsta,sizeof(x))==0))
  50. return i;
  51. return EndL(list);
  52. }
  53. void InsertL(zivotinje a, int p, lis &list)
  54. {
  55. list.cursor++;
  56. for(int i=list.cursor-1; i>p; i--)
  57. list.values[i]=list.values[i-1];
  58. list.values[p]=a;
  59. }
  60. void DeleteL(int p,lis &list)
  61. {
  62. list.cursor--;
  63. for(int i=p; i<list.cursor; i++)
  64. list.values[i]=list.values[i+1];
  65. }
  66. zivotinje RetreiveL(int p, lis list)
  67. {
  68. return list.values[p];
  69. }
  70. void DeleteAllL(lis &list)
  71. {
  72. list.cursor=0;
  73. }
  74. void InitL(lis &list)
  75. {
  76. list.cursor=0;
  77. }

Report this snippet  

You need to login to post a comment.