Posted By

rlabrovi on 11/12/12


Tagged

lista polje


Versions (?)

lista_polje.h


 / Published in: C++
 

Biblioteka lista_polje.h

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void text(char *ime){
  5. cin.getline(ime,30);
  6. if(cin.gcount()==1)
  7. cin.getline(ime,30);
  8. }
  9.  
  10. struct pzivotinja{
  11. int sifra,dan,mjesec,godina;
  12. float cijena;
  13. char naziv[20], vrsta[20];
  14. };
  15.  
  16. struct tzivotinja{
  17. pzivotinja*element[1000];
  18. int kursor;
  19. };
  20.  
  21. int FirstL(tzivotinja*zivotinja){
  22. return 0;
  23. }
  24.  
  25. int EndL(tzivotinja *zivotinja){
  26. return zivotinja->kursor;
  27. }
  28.  
  29. int NextL(int k,tzivotinja *zivotinja){
  30. return k+1;
  31. }
  32.  
  33. int PreviousL(int k,tzivotinja *zivotinja){
  34. return k-1;
  35. }
  36.  
  37. int LocateL(int n,tzivotinja *zivotinja){
  38. for(int i=0;i<zivotinja->kursor;i++){
  39. if(n==zivotinja->element[i]->sifra)return i;
  40. }
  41. return zivotinja->kursor;
  42. }
  43. void InsertL(pzivotinja*novi, int k, tzivotinja *zivotinja) {
  44. if(k>EndL(zivotinja))
  45. cout<<"Prevelika pozicija!\n";
  46.  
  47. else{
  48. for (int i = EndL(zivotinja); i > k; i--) {
  49. zivotinja->element[i] = zivotinja->element[i-1];
  50. }
  51. zivotinja->element[k] = novi;
  52. zivotinja->kursor = zivotinja->kursor + 1;
  53. }
  54. }
  55. int DeleteL(int k, tzivotinja *zivotinja){
  56. k-=1;
  57. if(k>EndL(zivotinja)-1)
  58. cout<<"Taj element ne postoji!\n";
  59. else{
  60. for(int i=k;i<EndL(zivotinja);i++){
  61. zivotinja->element[i]=zivotinja->element[i+1];
  62. }
  63. zivotinja->kursor=zivotinja->kursor-1;
  64. return 0;
  65. }
  66. }
  67. void DeleteAll(tzivotinja *zivotinja){
  68. zivotinja->kursor=0;
  69. }
  70. int NumberL(tzivotinja *zivotinja){
  71. int k=zivotinja->kursor;
  72. return k;
  73. }
  74. pzivotinja*RetrieveL(int k,tzivotinja *zivotinja){
  75. return zivotinja->element[k-1];
  76. }
  77. tzivotinja *InitL(tzivotinja *zivotinja){
  78. tzivotinja *novi=new tzivotinja;
  79. novi->kursor=0;
  80. return novi;
  81. }
  82.  
  83.  
  84. pzivotinja *UnosL(int a,pzivotinja *novi){
  85. int velicina=a;
  86. novi->sifra=velicina;
  87.  
  88. cout<< "-----------UNOS------------\n" ;
  89. cout<<"Unesite zivotinju pod sifrom " << novi->sifra << endl;
  90.  
  91. cout << "Vrsta: ";
  92. text(novi->vrsta);
  93. cout<<endl;
  94.  
  95. cout<< "Naziv: " ;
  96. text(novi->naziv);
  97. cout<<endl;
  98.  
  99. cout << "Cijena :" << ((novi->sifra+1)*100) ;
  100. novi->cijena =(novi-> sifra+1)*100;
  101. cout<<endl;
  102.  
  103. cout <<"Datum dostave zivotinje (dd.mm.gggg) :" ;
  104.  
  105. do{
  106. cout<< " Dan unosa(1.-31.): " ;
  107. cin>>novi->dan ;
  108. cout<<endl;
  109. }while(novi->dan <0 || novi->dan >31);
  110.  
  111. do{
  112. cout << " Mjesec unosa (1.-12.): " ;
  113. cin >> novi->mjesec ;
  114. cout<<endl;
  115. }while(novi->mjesec <0 || novi->mjesec >12);
  116.  
  117. do{
  118. cout << " Godina unosa (2000-2020): " ;
  119. cin >> novi->godina;
  120. cout<<endl;
  121. }while(novi->godina <2000 || novi->godina >2020);
  122.  
  123. cout <<"VAS ZAPIS JE USPJESNO DODAN !!! " << endl;
  124.  
  125. }

Report this snippet  

You need to login to post a comment.