Main.cpp - Evidencija životinja


/ Published in: C++
Save to your folder(s)

Programski kod main funkcije zadatka 1 iz struktura podataka.


Copy this code and paste it in your HTML
  1. #include<iostream>
  2. #include "lista_polje.h"
  3. //#include "lista_pokazivac.h"
  4. using namespace std;
  5. int sif=1;
  6. element unos(lista *novi)
  7. {
  8. zivotinja unos, sad;
  9. int brojac_liste=0;
  10. element lokacija=FirstL(novi);
  11. cout<<"Sifra zivotinje: ";
  12. cout<<sif<<endl;
  13. unos.sifra=sif;
  14. cin.ignore();
  15. cout<<"Vrsta zivotinje: ";
  16. cin.getline(unos.vrsta,35);
  17. cout<<"Naziv zivotinje: ";
  18. cin.getline(unos.naziv,35);
  19. do
  20. {
  21. cout<<"Dan dostave: ";
  22. cin>>unos.datum[0];
  23. if(unos.datum[0]<1 || unos.datum[0]>31) cout << "Unjeli ste krivi datum, unesite ponovno!" << endl;
  24. }while(unos.datum[0]<1 || unos.datum[0]>31);
  25. do
  26. {
  27. cout<<"Mjesec dostave: ";
  28. cin>>unos.datum[1];
  29. if(unos.datum[1]<1 || unos.datum[1]>12) cout << "Unjeli ste krivi mjesec, unesite ponovno!" << endl;
  30. }while(unos.datum[1]<1 || unos.datum[1]>12);
  31. do
  32. {
  33. cout<<"Godina dostave: ";
  34. cin>>unos.datum[2];
  35. if(unos.datum[2]<1900) cout << "Unjeli ste krivu godinu, unesite ponovno!" << endl;
  36. }while(unos.datum[2]<1900);
  37. cout<<"Cijena zivotinje: ";
  38. cin>>unos.cijena;
  39. brojac_liste=InsertL(unos,EndL(novi),novi);
  40. if(brojac_liste==1)
  41. {
  42. cout<<endl<<"Element je uspjesno dodan! "<<endl<<endl;
  43. sif++;
  44. }
  45. else cout<<"Element nije dodan! "<<endl<<endl;
  46. }
  47. void ispis(lista *ispis)
  48. {
  49. element lokacija=EndL(ispis);
  50. lokacija=PreviousL(lokacija,ispis);
  51. if(EndL(ispis)!=FirstL(ispis))
  52. {
  53. while(5)
  54. {
  55. zivotinja sad=RetreiveL(lokacija,ispis);
  56. cout<<"Sifra "<<sad.sifra<<endl;
  57. cout<<"Vrsta "<<sad.vrsta<<endl;
  58. cout<<"Naziv "<<sad.naziv<<endl;
  59. cout<<"Datum "<<sad.datum[0]<<"."<<sad.datum[1]<<"."<<sad.datum[2]<<endl;
  60. cout<<"Cijena "<<sad.cijena<<endl;
  61. cout<<"\t\t\t\t\t\t\t\t"<<endl;
  62. if(lokacija==FirstL(ispis))break;
  63. lokacija=PreviousL(lokacija,ispis);
  64. }
  65. }
  66. }
  67. void datum(lista *pretraga)
  68. {
  69. int broj=0;
  70. element lokacija=EndL(pretraga);
  71. lokacija=PreviousL(lokacija,pretraga);
  72. if(EndL(pretraga)!=FirstL(pretraga))
  73. {
  74. while(1)
  75. {
  76. zivotinja sad=RetreiveL(lokacija,pretraga);
  77. if(sad.datum[2]==2012)
  78. {
  79. if((sad.datum[1]>=9))
  80. {
  81. if(sad.datum[1]==9)
  82. {
  83. if(sad.datum[0]>23)
  84. {
  85. cout<<"Sifra "<<sad.sifra<<endl;
  86. cout<<"Naziv "<<sad.naziv<<endl;
  87. cout<<"Datum "<<sad.datum[0]<<"."<<sad.datum[1]<<"."<<sad.datum[2]<<endl;
  88. cout<<"Vrsta "<<sad.vrsta<<endl;
  89. cout<<"Cijena "<<sad.cijena<<endl;
  90. cout<<"\t\t\t\t\t\t"<<endl;
  91. broj++;
  92. }
  93. }
  94. else
  95. {
  96. cout<<"Sifra "<<sad.sifra<<endl;
  97. cout<<"Naziv "<<sad.naziv<<endl;
  98. cout<<"Datum "<<sad.datum[0]<<"."<<sad.datum[1]<<"."<<sad.datum[2]<<endl;
  99. cout<<"Vrsta "<<sad.vrsta<<endl;
  100. cout<<"Cijena "<<sad.cijena<<endl;
  101. cout<<"\t\t\t\t\t\t"<<endl;
  102. broj++;
  103. }
  104. }
  105. }
  106. else if(sad.datum[2]>2012)
  107. {
  108. cout<<"Sifra "<<sad.sifra<<endl;
  109. cout<<"Naziv "<<sad.naziv<<endl;
  110. cout<<"Datum "<<sad.datum[0]<<"."<<sad.datum[1]<<"."<<sad.datum[2]<<endl;
  111. cout<<"Vrsta "<<sad.vrsta<<endl;
  112. cout<<"Cijena "<<sad.cijena<<endl;
  113. cout<<"\t\t\t\t\t\t"<<endl;
  114. broj++;
  115. }
  116. if(lokacija==FirstL(pretraga))break;
  117. lokacija=PreviousL(lokacija,pretraga);
  118. }
  119. cout<<endl<<"Broj "<<broj<<endl;
  120. }
  121. }
  122. void brisanje(lista *brisi)
  123. {
  124. int potvrda;
  125. if(FirstL(brisi)==EndL(brisi))return;
  126. zivotinja sad;
  127. element lokacija=EndL(brisi);
  128. lokacija=PreviousL(lokacija,brisi);
  129. cout<<"Unesite naziv: "<<endl;
  130. cin.ignore();
  131. cin.getline(sad.naziv,35);
  132. element pozicija=LocateL(sad,brisi);
  133. potvrda=DeleteL(pozicija,brisi);
  134. if(potvrda==1) cout<<"Element uspjesno ukonjen! "<<endl;
  135. else cout<<"Element nije obrisan! "<<endl;
  136. }
  137. void brisanje_vrsta(lista *ukloni)
  138. {
  139. zivotinja e;
  140. bool potvrda=false;
  141. if(FirstL(ukloni)==EndL(ukloni))
  142. {
  143. cout<<"Lista je prazna "<<endl;
  144. return;
  145. }
  146. cout<<"Unesite vrstu "<<endl;
  147. cin.ignore();
  148. cin.getline(e.vrsta,35);
  149. element lokacija=LocateL(e,ukloni);
  150. if(lokacija==0)
  151. {
  152. DeleteL(lokacija,ukloni);
  153. potvrda=true;
  154. return;
  155. }
  156. else
  157. while(lokacija!=EndL(ukloni))
  158. {
  159. DeleteL(lokacija,ukloni);
  160. potvrda=true;
  161. lokacija=LocateL(e,ukloni);
  162. }
  163. if(potvrda==true) cout<<"Elementi uspjesno obrisani "<<endl<<endl;
  164. else cout<<"Elementi nisu obrisani "<<endl<<endl;
  165. }
  166. int main()
  167. {
  168. int select;
  169. lista *L=InitL(L);
  170. do
  171. {
  172. cout<<"------------------------IZBORNIK------------------------"<<endl;
  173. cout<<"1. Dodaj zapis u listu po rastucoj sifri "<<endl;
  174. cout<<"2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl;
  175. cout<<"3. Svi elementi novijeg datuma od 23.9.2012"<<endl;
  176. cout<<"4. Brisanje elementa sa odredenim nazivom "<<endl;
  177. cout<<"5. Brisanje svih elemenata odredene vrste "<<endl;
  178. cout<<"6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl;
  179. cout<<"9. Kraj programa "<<endl;
  180. cout<<"VAS ODABIR: ";
  181. cin>>select;
  182. switch(select)
  183. {
  184. case 1:
  185. unos(L);
  186. break;
  187. case 2:
  188. ispis(L);
  189. break;
  190. case 3:
  191. datum(L);
  192. break;
  193. case 4:
  194. brisanje(L);
  195. break;
  196. case 5:
  197. brisanje_vrsta(L);
  198. break;
  199. case 6:
  200. element kraj=PreviousL(EndL(L),L);
  201. MSort(L,FirstL(L),EndL(L)-1);
  202. break;
  203. }
  204. }while(select!=9);
  205. return 0;
  206. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.