Posted By

Jurij on 11/12/12


Tagged

list lista adt ATP


Versions (?)

Evidencija Zivotinja polje zaglavlje


 / Published in: C++
 

zaglavlje s funkcijama implementiranim kroz polje

  1. struct dat {
  2. int d,m,g;
  3. };
  4.  
  5. struct zapis{
  6. int sifra;
  7. float cijena;
  8. char vrsta[20],naziv[20];
  9. dat datum;
  10. };
  11.  
  12. struct lista {
  13. zapis podaci[1000];
  14. int kursor;
  15. };
  16.  
  17. lista L;
  18. int sifra=100,n=0;
  19.  
  20. void InitL(lista& L) {
  21. L.kursor=0;
  22. }
  23.  
  24. int EndL(lista& L) {
  25. return L.kursor;
  26. }
  27.  
  28. int FirstL(lista& L) {
  29. if(EndL(L)==0)return EndL(L);
  30. return 0;
  31. }
  32.  
  33. int PreviousL(int p,lista& L) {
  34. if(p==FirstL(L)) return -1;
  35. return p-1;
  36. }
  37.  
  38. int NextL(int p,lista& L) {
  39. if(p==EndL(L)) return -1;
  40. if(p==EndL(L)-1) return EndL(L);
  41. return p+1;
  42. }
  43.  
  44. void InsertL(zapis x,int p,lista& L) {
  45. L.podaci[p]=x;
  46. L.kursor++;
  47. }
  48.  
  49. zapis RetrieveL(int p,lista& L) {
  50. return L.podaci[p];
  51. }
  52.  
  53. int LocateL(char x[], lista& L) {
  54. int p = EndL(L);
  55. bool naden=0;
  56. for(int i=0;i<p;i++){
  57. if(!strcmp(L.podaci[i].naziv,x)||!strcmp(L.podaci[i].vrsta,x)){
  58. naden=1;
  59. return i;
  60. }
  61. }
  62. if(!naden) return p;
  63. }
  64.  
  65. void DeleteL(int p,lista& L){
  66. if(p==EndL(L)-1){L.kursor--;}
  67. else{
  68. for(int i=p;i<EndL(L)-1;i++)
  69. {L.podaci[i]=L.podaci[i+1];}
  70. L.kursor--;
  71. }
  72. }
  73.  
  74. void DeleteAll(lista& L) {
  75. L.kursor=0;
  76. }

Report this snippet  

You need to login to post a comment.