Posted By

Gasholein on 11/16/12


Tagged

main


Versions (?)

main


 / Published in: C++
 

ovo je primjer mog glavnog dijela zadatka

  1. #include <iostream>
  2. #include <string>
  3. #include "lista_pokazivac.h"
  4. #include "lista_polje.h"
  5.  
  6. using namespace std;
  7.  
  8. int sifra=1;
  9. int provjera=3;
  10.  
  11. void upisi (ljubimci_pok *glv)
  12. {
  13.  
  14. int dan, mjesec, godina;
  15. string temp;
  16.  
  17. int ciena, iznimka;
  18. string naziv, vrsta, datum_dostave;
  19. cout << "\nUpisi vrstu zivotinje:\n>>";
  20. cin >> vrsta;
  21. cout << "\nUpisi naziv zivotinje:\n>>";
  22. cin >> naziv;
  23. cout << "\nUpisi cijenu zivotinje:\n>>";
  24. cin >> ciena;
  25. do{
  26. cout << "\n\nUpisi koji je datum dostave u formatu DD.MM.YYYY.\n>>";
  27. cin >> datum_dostave;
  28.  
  29. try {
  30. iznimka=0;
  31. temp=datum_dostave.substr(0,2);
  32. dan=atoi(temp.c_str());
  33. temp=datum_dostave.substr(3,2);
  34. mjesec=atoi(temp.c_str());
  35. temp=datum_dostave.substr(6,4);
  36. godina=atoi(temp.c_str());
  37. } catch(...) {
  38. cout << "\n\nNiste unijeli dobar datum, ponovite unos.";
  39. iznimka++;
  40. }
  41. }while (iznimka!=0);
  42.  
  43. provjera=unos(glv, sifra, ciena, datum_dostave, naziv, vrsta);
  44. }
  45.  
  46. void brisi_naz(ljubimci_pok *glv)
  47. {
  48. if (glv->slijedeci==NULL)
  49. {
  50. cout << "\nLista je prazna, dodaj zapise!\n";
  51. return;
  52. }
  53. string nasiv;
  54. cout << "\nUpisi naziv zivotinje\n>>";
  55. cin >> nasiv;
  56. provjera=brisi_naziv(glv, nasiv);
  57. }
  58.  
  59. void brisi_sve(ljubimci_pok *glv)
  60. {
  61. if (glv->slijedeci==NULL)
  62. {
  63. cout << "\nListe je prazna, dodaj zapise.\n";
  64. return;
  65. }
  66. string tip;
  67. cout << "\nUpisi vrstu zivotinja\n>>";
  68. cin >> tip;
  69. provjera=brisi_vrstu(glv, tip);
  70. }
  71.  
  72. ljubimci_pok *dealokacija_liste(ljubimci_pok *glv)
  73. {
  74. ljubimci_pok *trenutni, *prethodni;
  75. prethodni=glv;
  76. trenutni=glv->slijedeci;
  77.  
  78. while(trenutni->slijedeci!=NULL)
  79. {
  80. delete prethodni;
  81. prethodni=trenutni;
  82. trenutni=trenutni->slijedeci;
  83. }
  84. delete prethodni;
  85. glv=NULL;
  86.  
  87. return NULL;
  88. }
  89.  
  90. void upis_novog(ljubimci_polje *nova)
  91. {
  92. int ciena;
  93. string naziv, vrsta, datum_dostave;
  94.  
  95. int dan, mjesec, godina;
  96. string temp;
  97. int iznimka;
  98.  
  99. cout << "\nUpisi vrstu zivotinje:\n>>";
  100. cin >> vrsta;
  101. cout << "\nUpisi naziv zivotinje:\n>>";
  102. cin >> naziv;
  103. cout << "\nUpisi cijenu zivotinje\n>>";
  104. cin >> ciena;
  105. do{
  106. cout << "\nUpisi koji je datum dostave u formatu DD.MM.YYYY.\n>>";
  107. cin >> datum_dostave;
  108.  
  109. try{
  110. iznimka=0;
  111. temp=datum_dostave.substr(0,2);
  112. dan=atoi(temp.c_str());
  113. temp=datum_dostave.substr(3,2);
  114. mjesec=atoi(temp.c_str());
  115. temp=datum_dostave.substr(6,4);
  116. godina=atoi(temp.c_str());
  117. } catch(...){
  118. cout << "\n\nNiste unijeli dobar datum, ponovite unos.";
  119. iznimka++;
  120. }
  121.  
  122. }while(iznimka!=0);
  123.  
  124. provjera=dkcf78(nova, sifra, ciena, datum_dostave, naziv, vrsta, nova->kursor);
  125. }
  126.  
  127. void zmaknuti_ljubimca_iz_liste_koja_je_implementirana_pomocu_polja(ljubimci_polje *nova)
  128. {
  129. if (nova->kursor==0)
  130. {
  131. cout << "\nNema zapisa u listi koja je implementirana pomocu polja, dodaj nove.\n";
  132. return;
  133. }
  134. string nasiv;
  135. cout << "\nUpisi naziv zivotinje\n>>";
  136. cin >> nasiv;
  137. provjera=zmakni(nova, nasiv);
  138. }
  139.  
  140. void dezintegriraj_iz_liste_koja_je_implementirana_pomocu_polja(ljubimci_polje *nova)
  141. {
  142. if (nova->kursor==0)
  143. {
  144. cout << "\nNema zapisa u listi koja je implementirana pomocu polja, dodaj nove.\n";
  145. return;
  146. }
  147. string vrsta;
  148. cout << "\nUpisi vrstu zivotinja\n>>";
  149. cin >> vrsta;
  150.  
  151. provjera=brisi_ga(nova, vrsta);
  152. }
  153.  
  154. int main()
  155. {
  156. ljubimci_pok *glava=new ljubimci_pok;
  157.  
  158. ljubimci_polje *lista=new ljubimci_polje;
  159.  
  160. glava->slijedeci=NULL;
  161.  
  162. lista->kursor=0;
  163.  
  164. int izbor;
  165. do{
  166. provjera=3;
  167. cout << "\n\n\t\tIZBORNIK\n\n\tImplementacija liste pomocu pokazivaca\n\n\t1) Dodaj zapis u listu\n\t2) Ispisi sadrzaj liste\n\t3) Ispis zivotinja koje su dostavljene poslije 23. rujna 2012.\n\t4) Brisanje unosa prema nazivu zivotinje\n\t5) Brisanje zivotinja odabrane vrste\n\t6) Sortiraj listu prema cijeni\n\n\tImplementacija liste pomocu polja\n\n\t7) Stavi novi zapis u listu koja je implementirana pomocu polja\n\t8) Ispis svih upisa iz liste koja je implementirana pomocu polja\n\t9) Ispis svih zivotinja koje su dostavljene u listu\n\timplementiranu sa poljem poslije 23. rujna 2012.\n\t10) Izbrisi ljubimca odredjenog naziva iz liste koja je\n\timplementirana poljem\n\t11) Izbrisi ljubimca odredjene vrste iz liste\n\n\t12) Izlaz iz programa\n>>";
  168. cin >> izbor;
  169. switch (izbor){
  170. case 1:
  171. {
  172. upisi(glava);
  173. if (provjera==1) {
  174. cout << "\nLjubimac unesen.\n";
  175. sifra++;
  176. }
  177. else
  178. cout << "\nLjubimac nije unesen.\n"; break;}
  179.  
  180. case 2:
  181. {ispis(glava);
  182. break;}
  183.  
  184. case 4:
  185. {brisi_naz(glava);
  186. if (provjera==1) {
  187. cout << "\nLjubimac obrisan.\n";
  188. }
  189. else if(provjera==0)
  190. cout << "\nLjubimac nije obrisan.\n";
  191. break;}
  192.  
  193. case 3:
  194. {trazi(glava);
  195. break;}
  196.  
  197. case 5:
  198. {brisi_sve(glava);
  199. if (provjera==1) {
  200. cout << "\nZivotinje obrisane.\n";
  201. }
  202. else if(provjera==0)
  203. cout << "\nZivotinje nisu obrisane.\n";
  204. break;
  205. }
  206.  
  207. case 6:
  208. {glava=m_sort(glava);
  209.  
  210. cout << "\nSortirano.\n";
  211. break;
  212. }
  213.  
  214. case 7:
  215. {upis_novog(lista);
  216. if (provjera==1)
  217. {
  218. cout << "\nLjubimac je ubacen u listu implementiranu pomocu polja.\n";
  219. sifra++;
  220. }
  221. else if(provjera==0)
  222. cout << "\nLjubimac nije dodan u listu implementiranu pomocu polja.\n"; break;}
  223.  
  224. case 8:
  225. {vax_11_780(lista);
  226. break;}
  227.  
  228. case 9:
  229. {epe54b(lista);
  230. break;
  231. }
  232.  
  233. case 11:
  234. {dezintegriraj_iz_liste_koja_je_implementirana_pomocu_polja(lista);
  235. if (provjera==1)
  236. {
  237. cout << "\nLjubimac izbrisan iz liste implementirane pomocu polja.\n";
  238. }
  239. else if(provjera==0)
  240. cout << "\nLjubimac nije izbrisan iz liste implementirane pomocu polja.\n"; break;}
  241.  
  242. case 10:
  243. {zmaknuti_ljubimca_iz_liste_koja_je_implementirana_pomocu_polja(lista);
  244. if (provjera==1)
  245. {
  246. cout << "\nLjubimac izbrisan iz liste implementirane pomocu polja.\n";
  247. }
  248. else if(provjera==0)
  249. cout << "\nLjubimac nije izbrisan iz liste implementirane pomocu polja.\n"; break;}
  250.  
  251. case 12:
  252. {if (glava->slijedeci==NULL)
  253. {
  254. delete glava;
  255. }
  256. else
  257. {
  258. glava=dealokacija_liste(glava);
  259. }
  260. break;
  261. }
  262.  
  263. default:
  264. cout << "Nema toga.\n";
  265. }
  266. }while (izbor!=12);
  267. }

Report this snippet  

You need to login to post a comment.