Posted By

Mathabaws on 11/12/12


Tagged

1 Strukture podataka poljeh zadatak evidencija zivotinja


Versions (?)

polja.h


 / Published in: C++
 

Zadatak 1, strukture podataka 2012.

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. struct pzivotinja{
  5. int sifra;
  6. char vrsta[30];
  7. char naziv[30];
  8. float cijena;
  9. int dan, mjesec, godina;
  10.  
  11. };
  12. pzivotinja lista[1000];
  13. int sifra = 100;
  14. int br1=0;
  15.  
  16.  
  17. int InsertL(int p, pzivotinja lista[]){
  18. if(p==0){
  19. for(int i=0; i<1000; i++){
  20. lista[i].sifra=0;
  21.  
  22. }
  23. }
  24. lista[p].sifra = sifra;
  25. cout<<"Unesite vrstu zivotinje: ";
  26. cin >> lista[p].vrsta;
  27. cout<<"Unesite naziv zivotinje: ";
  28. cin >>lista[p].naziv;
  29. cout<<"Unesite cijenu zivotinje: ";
  30. cin >>lista[p].cijena;
  31. cout<<"Unesite dan zapremanja: ";
  32. cin >>lista[p].dan;
  33. cout<< "Unesite mjesec zaprimanja: ";
  34. cin >> lista[p].mjesec;
  35. cout<<"Unesite godinu zaprimanja: ";
  36. cin >>lista[p].godina;
  37. sifra++;
  38. return 1;
  39. }//Insert
  40.  
  41. int NumberL(pzivotinja lista[]){
  42. br1 = 0;
  43. for(int i=0; i<1000; i++){
  44. if(lista[i].sifra != 0)br1++;
  45.  
  46. }
  47. cout << "Broj elemenata: "<<br1<<endl;
  48. return br1;
  49. }
  50.  
  51. int RetriveL(int p, pzivotinja lista[]){
  52. cout<<"----------------------------------------"<<endl;
  53. cout<<"Sifra zivotinje: "<<lista[p].sifra<<endl;
  54. cout<<"Vrsta zivotinje: "<<lista[p].vrsta<<endl;
  55. cout<<"Naziv zivotinje: "<<lista[p].naziv<<endl;
  56. cout<<"Cijena zivotinje: "<<lista[p].cijena<<" kn "<<endl;
  57. cout<<"Datum zaprimanja: "<<lista[p].dan<<"/"<<lista[p].mjesec<<"/"<<lista[p].godina<<"."<<endl;
  58. cout<<"-----------------------------------------"<<endl;
  59. }
  60.  
  61. int pretrazi(pzivotinja lista[]){
  62. int br2 = 0;
  63. int br3 = 0;
  64. int a=NumberL(lista);
  65. cout<<"Izvotinje unesene poslije 23/9/2012 su:"<<endl;
  66. for(int i=0; i<=a; i++){
  67. if(lista[i].godina<2012) continue;
  68. if(lista[i].godina==2012 && lista[i].mjesec<9) continue;
  69. if(lista[i].mjesec==9 && lista[i].godina==2012 && lista[i].dan<=23) continue;
  70.  
  71. else{
  72. RetriveL(i, lista);
  73. br2++;
  74. }//else
  75. }//for int i = 0
  76. cout<<"Broj zivotinja unesenih poslije 23/09/2012.: "<<br2<<endl;
  77. }//int pretrazi
  78.  
  79. int LocateL(pzivotinja lista[], char naziv[]){
  80. int c = NumberL(lista);
  81. for(int i=0; i<=c; i++){
  82. if(!strcmp(naziv, lista[i].naziv)) return i;
  83. }
  84. return -1;
  85. } // locate
  86.  
  87. int DeleteL(pzivotinja lista[], char naziv[]){
  88. int x = LocateL(lista, naziv);
  89. int c = NumberL(lista);
  90. if(x==-1) {cout<<"Zivotinja nije pronadjena!"<<endl;
  91. return 0;
  92. }//if x==-1
  93. for(int i=x; i<c; i++){
  94. lista[i].sifra=lista[i+1].sifra;
  95. strcpy(lista[i].vrsta,lista[i+1].vrsta);
  96. strcpy(lista[i].naziv,lista[i+1].naziv);
  97. lista[i].cijena=lista[i+1].cijena;
  98. lista[i].dan=lista[i+1].dan;
  99. lista[i].mjesec=lista[i+1].mjesec;
  100. lista[i].godina=lista[i+1].godina;
  101. }
  102. cout << "Zivotinja je izbrisana"<<endl;
  103. lista[c].sifra=0;
  104. return 1;
  105. }
  106.  
  107. int DeleteL(char vrsta[], pzivotinja lista[]){
  108. int i;
  109. int br4 = 0;
  110. int c = NumberL(lista);
  111. for(i=0; i<c; i++){
  112. if(!strcmp(vrsta, lista[i].vrsta)){
  113. br4++;
  114. DeleteL(lista, lista[i].naziv);
  115. i--;
  116. }
  117. }
  118. return br4;
  119. }

Report this snippet  

You need to login to post a comment.