结构podataka/Evensicijaživotinja/Main

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构podataka/Evensicijaživotinja/Main相关的知识,希望对你有一定的参考价值。

Ovaj program služi za evidenciju životinja (šifra životinja,vrsta,naziv,cijenu i datum dostave).Program je implementiran pomoću lista s pomoću pokazivača i pomoču polja koje smo stavili kao dvije različite datoteke zaglavlja s pomoću kojih možemo pokrenuti program.Mislim da je moj program dobar i drugaciji od ostalih jer sam stavio da se kod krivog unosa datuma ili cijene skoči ponovo na njihov upis da se nebi upisali krivi brojevi što bih naveo kao glavnu razliku od programa ostalih studenata koje sam vidio te sam uglavnom koristio imena varijabli i funkcija na način da se jednostavno i brzo primjeti čemu služe, te sam također upotrebljavao liste na način kako smo to radili na programiranju 2 pa mislim da je jednostavno za razumjeti.
  1. #include<iostream>
  2. //#include "lista_polje.h"
  3. #include "lista_pokazivac.h"
  4. using namespace std;
  5. int sif=1;
  6. clan dodaj(lis *novi){
  7. zivine dodaj,tekuci;
  8. int stavi=0;
  9. clan mjesto=FirstL(novi);
  10. cout<<"Sifra zivotinje: "<<sif<<"."<<endl;
  11. dodaj.sifra=sif;
  12. cin.ignore();
  13. cout<<"Vrsta zivotinje: "<<endl;
  14. cin.getline(dodaj.vrsta,40);
  15. cout<<"Naziv zivotinje: "<<endl;
  16. cin.getline(dodaj.naziv,40);
  17. p1: cout<<"Dan: "<<endl;
  18. cin>>dodaj.dat[0];
  19. if(dodaj.dat[0]<1 || dodaj.dat[0]>31){
  20. cout<<"Taj dan ne postoji.Unesite ponovo."<<endl;
  21. goto p1;}
  22. p2: cout<<"Mjesec: "<<endl;
  23. cin>>dodaj.dat[1];
  24. if(dodaj.dat[1]<1 || dodaj.dat[1]>12){
  25. cout<<"Taj mjesec ne postoji.Unesite ponovo."<<endl;
  26. goto p2;}
  27. cout<<"Godina: "<<endl;
  28. cin>>dodaj.dat[2];
  29. p3: cout<<"Cijena: "<<endl;
  30. cin>>dodaj.cijena;
  31. if(dodaj.cijena<1){
  32. cout<<"Unesena pogresna cijena.Unesite ponovo."<<endl;
  33. goto p3;}
  34. stavi=InsertL(dodaj,EndL(novi),novi);
  35. if(stavi==1){
  36. cout<<endl<<"1"<<endl<<endl;
  37. sif++;
  38. }
  39. else cout<<"0"<<endl<<endl;
  40. }
  41. void ispis(lis *ispis){
  42. clan mjesto=EndL(ispis);
  43. mjesto=PreviousL(mjesto,ispis);
  44. if(EndL(ispis)!=FirstL(ispis)){
  45. while(1){
  46. zivine tekuci=RetreiveL(mjesto,ispis);
  47. cout<<"Sifra: "<<tekuci.sifra<<endl;
  48. cout<<"Vrsta: "<<tekuci.vrsta<<endl;
  49. cout<<"Naziv: "<<tekuci.naziv<<endl;
  50. cout<<"Datum: "<<tekuci.dat[0]<<"."<<tekuci.dat[1]<<"."<<tekuci.dat[2]<<endl;
  51. cout<<"Cijena: "<<tekuci.cijena<<endl;
  52. if(mjesto==FirstL(ispis))break;
  53. mjesto=PreviousL(mjesto,ispis);
  54. cout<<endl;
  55. }//while
  56. }//if
  57. }
  58. void dat(lis *pretraga){
  59. int broj=0;
  60. clan mjesto=EndL(pretraga);
  61. mjesto=PreviousL(mjesto,pretraga);
  62. if(EndL(pretraga)!=FirstL(pretraga)){
  63. while(1){
  64. zivine tekuci=RetreiveL(mjesto,pretraga);
  65. if(tekuci.dat[2]==2012){
  66. if((tekuci.dat[1]>=9)){
  67. if(tekuci.dat[1]==9){
  68. if(tekuci.dat[0]>23){
  69. cout<<"Sifra: "<<tekuci.sifra<<endl;
  70. cout<<"Naziv: "<<tekuci.naziv<<endl;
  71. cout<<"Datum: "<<tekuci.dat[0]<<"."<<tekuci.dat[1]<<"."<<tekuci.dat[2]<<endl;
  72. cout<<"Vrsta: "<<tekuci.vrsta<<endl;
  73. cout<<"Cijena: "<<tekuci.cijena<<endl;
  74. broj++;
  75. }
  76. }
  77. else{
  78. cout<<"Sifra: "<<tekuci.sifra<<endl;
  79. cout<<"Naziv: "<<tekuci.naziv<<endl;
  80. cout<<"Datum: "<<tekuci.dat[0]<<"."<<tekuci.dat[1]<<"."<<tekuci.dat[2]<<endl;
  81. cout<<"Vrsta: "<<tekuci.vrsta<<endl;
  82. cout<<"Cijena: "<<tekuci.cijena<<endl;
  83. broj++;
  84. }
  85. }
  86. }
  87. else if(tekuci.dat[2]>2012){
  88. cout<<"Sifra: "<<tekuci.sifra<<endl;
  89. cout<<"Naziv: "<<tekuci.naziv<<endl;
  90. cout<<"Datum: "<<tekuci.dat[0]<<"."<<tekuci.dat[1]<<"."<<tekuci.dat[2]<<endl;
  91. cout<<"Vrsta: "<<tekuci.vrsta<<endl;
  92. cout<<"Cijena: "<<tekuci.cijena<<endl;
  93. broj++;
  94. }
  95. if(mjesto==FirstL(pretraga))break;
  96. mjesto=PreviousL(mjesto,pretraga);
  97. cout<<endl;
  98. }//while
  99. cout<<endl<<"Broj: "<<broj<<endl;
  100. }//if(endl)
  101. }//funk
  102. void brisi(lis *brisi){
  103. int t;
  104. if(FirstL(brisi)==EndL(brisi))return;
  105. zivine tekuci;
  106. clan mjesto=EndL(brisi);
  107. mjesto=PreviousL(mjesto,brisi);
  108. cout<<"Unesite naziv: "<<endl;
  109. cin.ignore();
  110. cin.getline(tekuci.naziv,40);
  111. clan pozicija=LocateL(tekuci,brisi);
  112. t=DeleteL(pozicija,brisi);
  113. if(t==1)
  114. cout<<"1"<<endl;
  115. else
  116. cout<<"0"<<endl;
  117. }
  118.  
  119. void brisiv(lis *makni){
  120. zivine brisi;
  121. bool t=false;
  122. if(FirstL(makni)==EndL(makni)){
  123. cout<<"Lista je prazna... "<<endl;
  124. return;}
  125. cout<<"Unesite vrstu: "<<endl;
  126. cin.ignore();
  127. cin.getline(brisi.vrsta,40);
  128. clan mjesto=LocateL(brisi,makni);
  129. if(mjesto==0){
  130. DeleteL(mjesto,makni);
  131. t=true;
  132. return;}
  133. else
  134. while(mjesto!=EndL(makni)){
  135. DeleteL(mjesto,makni);
  136. t=true;
  137. mjesto=LocateL(brisi,makni);}
  138. if(t==true) cout<<"1"<<endl<<endl;
  139. else cout<<"0"<<endl<<endl;}
  140. int main(){
  141. int odabir;
  142. lis *L=InitL(L);
  143. do{
  144. cout<<" IZBORNIK"<<endl;
  145. cout<<" --------"<<endl;
  146. cout<<"1. Dovanje zapisa po rastucoj sifri zivotinje "<<endl;
  147. cout<<"2. Ispis sadrzaja liste od posljednje"<<endl;
  148. cout<<"3. Pretrazivanje liste i ispis svih zivotinja(poslje 23.9.2012)"<<endl;
  149. cout<<"4. Brisanje pojedinih zivotinja po nazivu"<<endl;
  150. cout<<"5. Brisanje zivotinja odredene vrste"<<endl;
  151. cout<<"6. Silazni Merge sort"<<endl;
  152. cout<<"7. Kraj programa"<<endl;
  153. cout<<endl;
  154. p4 : cout<<"ODABIR: ";
  155. cin>>odabir;
  156. if(odabir<1 || odabir>7){
  157. cout<<"Krivi unos!"<<endl;
  158. goto p4;}
  159. switch(odabir){
  160. case 1:dodaj(L);break;
  161. case 2:ispis(L);break;
  162. case 3:dat(L);break;
  163. case 4:brisi(L);break;
  164. case 5:brisiv(L);break;
  165. case 6:clan kraj=PreviousL(EndL(L),L);Merge(L,FirstL(L),EndL(L)-1);break;
  166. }
  167. }while(odabir!=7);
  168. return 0;
  169. }

以上是关于结构podataka/Evensicijaživotinja/Main的主要内容,如果未能解决你的问题,请参考以下文章

Evidencijaživotinja-ZadatakƏu 1,podataka结构

Evidencijaživotinja,lista pokazivača-Zadatak_u1,podataka结构

实验七

执行列表-主.cpp

å

在UTF-8 chracter中将长字符串剪切为中等显示字符串