Posted By

ddumic on 11/12/12


Tagged


Versions (?)

lista_polje.h


 / Published in: C++
 

Datoteka zaglavlja "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. }//void unos znakovnog niza
  9.  
  10. struct pzivotinja{
  11. int sifra,dan,mjesec,godina;
  12. float cijena;
  13. char naziv[20], vrsta[20];
  14. } ;//struktura
  15.  
  16.  
  17. struct tzivotinja{
  18. pzivotinja*element[1000];
  19. int kursor;
  20. };
  21.  
  22. tzivotinja lista[1000];
  23.  
  24. int FirstL(tzivotinja*zivotinja){
  25. return 0;
  26. }
  27.  
  28. int EndL(tzivotinja *zivotinja){
  29. return zivotinja->kursor;
  30. }
  31.  
  32. int NextL(int k,tzivotinja *zivotinja){
  33. return k+1;
  34. }
  35.  
  36. int PreviousL(int k,tzivotinja *zivotinja){
  37. return k-1;
  38. }
  39.  
  40. int LocateL(int n,tzivotinja *zivotinja){
  41. for(int i=0;i<zivotinja->kursor;i++){
  42. if(n==zivotinja->element[i]->sifra)return i;
  43. }
  44. return zivotinja->kursor;
  45. }
  46. void InsertL(pzivotinja*novi, int k, tzivotinja *zivotinja) {
  47. if(k>EndL(zivotinja))
  48. cout<<"Prevelika pozicija!\n";
  49.  
  50. else{
  51. for (int i = EndL(zivotinja); i > k; i--) {
  52. zivotinja->element[i] = zivotinja->element[i-1];
  53. }
  54. zivotinja->element[k] = novi;
  55. zivotinja->kursor = zivotinja->kursor + 1;
  56. }
  57. }
  58. int DeleteL(int k, tzivotinja *zivotinja){
  59. k-=1;
  60. if(k>EndL(zivotinja)-1)
  61. cout<<"Taj element ne postoji!\n";
  62. else{
  63. for(int i=k;i<EndL(zivotinja);i++){
  64. zivotinja->element[i]=zivotinja->element[i+1];
  65. }
  66. zivotinja->kursor=zivotinja->kursor-1;
  67. return 0;
  68. }
  69. }
  70. void DeleteAll(tzivotinja *zivotinja){
  71. zivotinja->kursor=0;
  72. }
  73. int NumberL(tzivotinja *zivotinja){
  74. int k=zivotinja->kursor;
  75. return k;
  76. }
  77. pzivotinja*RetrieveL(int k,tzivotinja *zivotinja){
  78. return zivotinja->element[k-1];
  79. }
  80. tzivotinja *InitL(tzivotinja *zivotinja){
  81. tzivotinja *novi=new tzivotinja;
  82. novi->kursor=0;
  83. return novi;
  84. }
  85.  
  86.  
  87. pzivotinja *UnosL(int a,pzivotinja *novi){
  88. int velicina=a;
  89. novi->sifra=velicina;
  90. cout << "Naziv: ";
  91. text(novi->naziv);
  92. cout<< "Vrsta: " ;
  93. text(novi->vrsta);
  94. novi->cijena =(novi-> sifra+1)*100;
  95. int dan,mjesec,godina;
  96. do{
  97. cout<<"Dan unosa: ";
  98. cin>>dan;
  99. cout<<"Mjesec unosa: ";
  100. cin>>mjesec;
  101. cout<<"Godina unosa: ";
  102. cin>>godina;
  103. cout<<endl;
  104. }while(dan>31&&mjesec>12&&godina<2000);
  105. novi->dan=dan;
  106. novi->mjesec=mjesec;
  107. novi->godina=godina;
  108. }

Report this snippet  

You need to login to post a comment.