Posted By

ddumic on 11/12/12


Tagged


Versions (?)

Main funckija


 / Published in: C++
 

Main funkcija programa

  1. #include<iostream>
  2. //#include "lista_pokazivac.h"
  3. #include "lista_polje.h"
  4. using namespace std;
  5. int a=1;
  6. pzivotinja*provjera=new pzivotinja;
  7. tzivotinja*zadnji2=new tzivotinja;
  8.  
  9. int dodaj(int a,tzivotinja*glava){
  10. bool uspjesno=false;
  11. pzivotinja*novi=new pzivotinja;
  12. zadnji2=glava;
  13. UnosL(a,novi);
  14. int brojac=NumberL(zadnji2);
  15. zadnji2=glava;
  16. while(brojac>=0){
  17. if(brojac==0){
  18. InsertL(novi,0,zadnji2);
  19. uspjesno=true;
  20. break;
  21. }//if
  22. provjera=RetrieveL(brojac,zadnji2);
  23. zadnji2=glava;
  24. if(novi->sifra>provjera->sifra){
  25. InsertL(novi,brojac,zadnji2);
  26. uspjesno=true;
  27. break;
  28. }//if
  29. else brojac--;
  30. }//while
  31. if(!uspjesno) return 0;
  32. else return 1;
  33. }
  34.  
  35. void ispis(tzivotinja*glava){
  36. pzivotinja*trenutno;
  37. zadnji2=glava;
  38. int brojac= NumberL(zadnji2);
  39. for(int i=brojac;i>0;i--){
  40. zadnji2=glava;
  41. trenutno=RetrieveL(i,zadnji2);
  42. cout<<"Sifra: "<<trenutno->sifra<<endl;
  43. cout<<"Naziv: "<<trenutno->naziv<<endl;
  44. cout<<"Vrsta: "<<trenutno->vrsta<<endl;
  45. cout<<"Cijena: "<<trenutno->cijena<<endl;
  46. cout<<"Dan unosa: "<<trenutno->dan<<endl;
  47. cout<<"Mjesec unosa: "<<trenutno->mjesec<<endl;
  48. cout<<"Godina unosa: "<<trenutno->godina<<endl;
  49. cout<<"-----------------------------\n\n";
  50. }
  51. }
  52.  
  53. void ispis_nakon(tzivotinja*glava){
  54. pzivotinja*trenutno;
  55. int brojac2=0;
  56. int brojac=NumberL(zadnji2);
  57. for(int i=brojac;i>0;i--){
  58. trenutno=RetrieveL(i,zadnji2);
  59. if(trenutno->godina==2012){
  60. if(trenutno->mjesec>9){
  61. cout<<"Sifra: "<<trenutno->sifra<<endl;
  62. cout<<"Naziv: "<<trenutno->naziv<<endl;
  63. cout<<"Vrsta: "<<trenutno->vrsta<<endl;
  64. cout<<"Cijena: "<<trenutno->cijena<<endl;
  65. cout<<"Dan unosa: "<<trenutno->dan<<endl;
  66. cout<<"Mjesec unosa: "<<trenutno->mjesec<<endl;
  67. cout<<"Godina unosa: "<<trenutno->godina<<endl;
  68. cout<<"----------------------------------------------------------\n";
  69. brojac2++;
  70. }//if
  71. else if(trenutno->mjesec==9){
  72. if(trenutno->dan>23){
  73. cout<<"Sifra: "<<trenutno->sifra<<endl;
  74. cout<<"Naziv: "<<trenutno->naziv<<endl;
  75. cout<<"Vrsta: "<<trenutno->vrsta<<endl;
  76. cout<<"Cijena: "<<trenutno->cijena<<endl;
  77. cout<<"Dan unosa: "<<trenutno->dan<<endl;
  78. cout<<"Mjesec unosa: "<<trenutno->mjesec<<endl;
  79. cout<<"Godina unosa: "<<trenutno->godina<<endl;
  80. cout<<"----------------------------------------------------------\n";
  81. brojac2++;
  82. }//if
  83. }//else if
  84. }//if
  85. else if(trenutno->godina>2012){
  86. cout<<"Sifra: "<<trenutno->sifra<<endl;
  87. cout<<"Naziv: "<<trenutno->naziv<<endl;
  88. cout<<"Vrsta: "<<trenutno->vrsta<<endl;
  89. cout<<"Cijena: "<<trenutno->cijena<<endl;
  90. cout<<"Dan unosa: "<<trenutno->dan<<endl;
  91. cout<<"Mjesec unosa: "<<trenutno->mjesec<<endl;
  92. cout<<"Godina unosa: "<<trenutno->godina<<endl;
  93. cout<<"----------------------------------------------------------\n";
  94. brojac2++;
  95. }
  96. }
  97. cout<<"Broj zivotinja unesenih nakon 23.rujna 2012 : "<<brojac2<<endl;
  98. cout<<"----------------------------------------------------------\n\n";
  99. }
  100.  
  101. int brisi_ime(tzivotinja*glava){
  102. bool izbrisan;
  103. cout<<"Unesite ime zivotinje koju zelite izbrisati: ";
  104. char n[20];
  105. cin>>n;
  106. pzivotinja*trenutno;
  107. int brojac=NumberL(zadnji2);
  108. for(int i=brojac;i>0;i--){
  109. trenutno=RetrieveL(i,zadnji2);
  110. if(strcmp((trenutno->naziv),n)==0){
  111. DeleteL(i,zadnji2);
  112. izbrisan=true;
  113. }
  114. }
  115. if(izbrisan)return 1;
  116. if(brojac==0)cout<<"Nema niti jednog elementa\n";
  117. return 0;
  118. }
  119.  
  120. int brisi_vrsta(tzivotinja*glava){
  121. bool izbrisan;
  122. cout<<"Unesite vrstu zivotinje koju zelite izbrisati: ";
  123. char n[20];
  124. cin>>n;
  125. pzivotinja*trenutno;
  126. int brojac=NumberL(zadnji2);
  127. for(int i=brojac; i>0;i--){
  128. trenutno=RetrieveL(i,zadnji2);
  129. if(strcmp((trenutno->vrsta),n)==0){
  130. DeleteL(i,zadnji2);
  131. izbrisan=true;
  132. }
  133. }
  134. if(izbrisan) return 1;
  135. if(brojac==0)cout<<"Nema niti jednog elementa\n";
  136. return 0;
  137. }
  138.  
  139.  
  140.  
  141. int main(){
  142. tzivotinja *glava;
  143. glava=InitL(glava);
  144. int izbor;
  145. do{
  146. cout<<"\n\t\t\t~IZBORNIK~\n";
  147. cout<<"================================================================================\n";
  148. cout<<"1 Dodaj zapis u listu/polje prema rastucoj sifri zivotinje\n";
  149. cout<<"2 Ipisi sadrzaj liste/polja pocevsi od sifre zivotinje koja je posljednja dodana\n";
  150. cout<<"3 Ispis sadrzaja liste/polja unesenog nakon 23.rujna 2012\n";
  151. cout<<"4 Brisanje jednog zapisa u listi/polju po nazivu zivotinje\n";
  152. cout<<"5 Brisanje zapisa u listi/polju po vrsti zivotinje\n";
  153. cout<<"6 Silazno sortiranje liste/polje po cijeni i imenu ziotinje (Merge sort)\n";
  154. cout<<"0 Izlaz\n";
  155. cout<<"================================================================================\n";
  156. cout<<"Vas izbor: ";
  157. cin>>izbor;
  158. cout<<endl;
  159. switch(izbor){
  160. case 1: {
  161. zadnji2=glava;
  162. int dod=dodaj(a,zadnji2);
  163. a++;
  164. system("pause");
  165. system("cls");
  166. break;
  167. }
  168. case 2: {
  169. zadnji2=glava;
  170. ispis(zadnji2);
  171. system("pause");
  172. system("cls");
  173. break;
  174. }
  175. case 3: {
  176. zadnji2=glava;
  177. ispis_nakon(zadnji2);
  178. system("pause");
  179. system("cls");
  180. break;
  181. }
  182. case 4: {
  183. zadnji2=glava;
  184. brisi_ime(zadnji2);
  185. system("pause");
  186. system("cls");
  187. break;
  188. }
  189. case 5: {
  190. zadnji2=glava;
  191. brisi_vrsta(zadnji2);
  192. system("pause");
  193. system("cls");
  194. break;
  195. }
  196. case 6: {
  197. cout<<"Merge sort\n";
  198. system("pause");
  199. system("cls");
  200. break;
  201. }
  202. }//switch
  203. }while(izbor!=0);
  204.  
  205.  
  206. system("pause");
  207. return 0;
  208. }

Report this snippet  

You need to login to post a comment.