Posted By

Anonimus on 11/01/10


Tagged


Versions (?)

Glavni program


 / Published in: C++
 

  1. #include<iostream>
  2. #include "lista_polje.h"
  3. using namespace std;
  4.  
  5. int i = 0;
  6. int j,k;
  7. pacijent novi;
  8. char odaberi;
  9. int broj;
  10.  
  11. void unos (list *dodaj){
  12. pacijent novi;
  13. gore:cout<<"Koliko pacijenata zelite unesti: "<<endl;
  14. cin>>broj;
  15. if(broj>1000){
  16. cout<<"Maksimalno moze biti uneseno 1000 pacijenata! "<<endl;
  17. goto gore;
  18. }
  19.  
  20. for(j=0; j<=broj;j++){
  21. cout<<"************************************************"<<endl;
  22. cout<<"Unesite redni broj pacijenta: "<<endl; cin>>novi.redni_broj;
  23. cout<<"Unesite JMBG pacijenta: "<<endl; cin>>novi.jmbg;
  24. cout<<"Unesite ime pacijenta: "<<endl; cin>>novi.ime;
  25. cout<<"Unesite prezime pacijenta: "<<endl; cin>>novi.prezime;
  26. cout<<"Unesite godine pacijenta: "<<endl; cin>>novi.godine;
  27. j++;
  28.  
  29.  
  30. InsertL(novi,FirstL(dodaj),dodaj);
  31. i++;
  32. }
  33. };
  34.  
  35. void ispis(pacijent skup[], int i){
  36.  
  37. cout<<"Ukupno su unesena "<<i<<" pacijenta! "<<endl;
  38. for(int j = 0;j<i;j++){
  39. cout<<"--------------------------------------"<<endl;
  40. cout<<"--------------------------------------"<<endl;
  41. cout<<"Redni broj pacijenta: "<<skup[j].redni_broj<<endl;
  42. cout<<"JMBG pacijenta: "<<skup[j].jmbg<<endl;
  43. cout<<"Ime pacijenta: "<<skup[j].ime<<endl;
  44. cout<<"Prezime pacijenta: "<<skup[j].prezime<<endl;
  45. cout<<"Broj godina pacijenta: "<<skup[j].godine<<endl;
  46.  
  47. }
  48. };
  49.  
  50.  
  51. void sortiraj_listu(list *dodaj){
  52. if(i==0){
  53. cout<<"Lista je prazna! Dodajte u listu nekoliko pacijenata pa zatim odaberite opciju sortiranja!"<<endl;
  54. cout<<"Zelite li dodati pacijenta u listu? (d/n) "<<endl;
  55. cin>>odaberi;
  56. if(odaberi == 'd' || odaberi == 'D'){
  57. unos(dodaj);
  58. }}
  59.  
  60. pacijent polje[1000];
  61. pacijent pom;
  62. element sada;
  63. int l;
  64. sada = FirstL(dodaj);
  65. int j = 0;
  66. while(sada != EndL(dodaj)) {
  67. polje[j] = RetrieveL(sada, dodaj);
  68. sada = NextL(sada, dodaj);
  69. j++;
  70. }
  71.  
  72.  
  73.  
  74. bool zamjena = true;
  75. for(int k = j-1; k>0 && zamjena; k--){
  76. zamjena = false;
  77. for(int l = 0; l<k; l++)
  78. if(polje[l].jmbg > polje[l+1].jmbg){
  79. pom = polje[l];
  80. polje[l] = polje[l+1];
  81. polje[l+1] = pom;
  82. zamjena = true;}
  83. }
  84. ispis(polje,j);
  85. };
  86.  
  87.  
  88. int brisi ( list *dodaj){
  89. cout<<"Ukupno su unesena "<<i<<" pacijenta! "<<endl;
  90. if(i==0){
  91. cout<<"Lista je prazna! Dodajte u listu nekoliko pacijenata pa zatim odaberite opciju sortiranja!"<<endl;
  92. cout<<"Zelite li dodati pacijenta u listu? (d/n) "<<endl;
  93. cin>>odaberi;
  94. if(odaberi == 'd' || odaberi == 'D'){
  95. unos(dodaj);
  96. }
  97. }
  98.  
  99.  
  100. char jos;
  101. pacijent kolicina;
  102. do{
  103. ponovno: cout<<"Unesite maticni broj pacijenta kojeg zelite obrisati ?"<<endl;
  104. cin>>kolicina.jmbg;
  105. if(LocateL(kolicina, dodaj) == EndL(dodaj)){
  106. cout<<"Ne postoji niti jedan pacijent u listi pod tim rednim brojem! "<<endl;
  107. cout<<"Zelite li ponovno upisati redni broj pacijenta kojeg zelite izbrisati ? (d/n) "<<endl;
  108. cin>>jos;
  109. if(jos == 'd' || jos == 'D'){
  110. goto ponovno;}
  111.  
  112. }
  113. }while(LocateL(kolicina, dodaj) == EndL(dodaj));
  114.  
  115. DeleteL(LocateL(kolicina, dodaj), dodaj);
  116. cout<<"Pacijent je uspjesno obrisan iz liste! "<<endl;
  117. i--;
  118.  
  119. };
  120.  
  121. int pretraga(list *dodaj){
  122. cout<<"Ukupno su unesena "<<i<<" pacijenta! "<<endl;
  123. if(i==0){
  124. cout<<"Lista je prazna! Dodajte u listu nekoliko pacijenata pa zatim odaberite opciju sortiranja!"<<endl;
  125. cout<<"Zelite li dodati pacijenta u listu? (d/n) "<<endl;
  126. cin>>odaberi;
  127. if(odaberi == 'd' || odaberi == 'D'){
  128. unos(dodaj);
  129. }}
  130.  
  131.  
  132.  
  133. bool pronadjen;
  134. int j=0;
  135. pacijent skup[1000];
  136. element elem = FirstL(dodaj);
  137. while(elem != EndL(dodaj)){
  138. skup[j] = RetrieveL(elem, dodaj);
  139. if(skup[j].godine<18){
  140. pronadjen = true;
  141.  
  142. cout<<"Redni broj pacijenta: "<<skup[j].redni_broj<<endl;
  143. cout<<"JMBG pacijenta: "<<skup[j].jmbg<<endl;
  144. cout<<"Ime pacijenta: "<<skup[j].ime<<endl;
  145. cout<<"Prezime pacijenta: "<<skup[j].prezime<<endl;
  146. cout<<"Broj godina pacijenta: "<<skup[j].godine<<endl;
  147.  
  148.  
  149. j++;}
  150. elem = NextL(elem, dodaj);
  151. }
  152.  
  153. if(!pronadjen){
  154. cout<<"Ne postoji niti jedan pacijent koji je mladji od 18 godina! "<<endl;
  155. }
  156. }
  157.  
  158. int main () {
  159. list dodaj;
  160. InitL(&dodaj);
  161.  
  162. int izbor;
  163. do{
  164.  
  165. system("color a");
  166. cout<<"-----------IZBORNIK------------"<<endl;
  167. cout<<"\n1. Unos pacijenata u listu! "<<endl;
  168. cout<<"\n2. Ispis pacijenata iz liste! "<<endl;
  169. cout<<"\n3. Pretrazivanje liste! "<<endl;
  170. cout<<"\n4. Brisanje pacijenata iz liste! "<<endl;
  171. cout<<"\n5. Izlaz iz programa! "<<endl;
  172. cout<<"-------------------------------"<<endl;
  173. cout<<"Vas izbor: "<<endl;
  174. cin>>izbor;
  175.  
  176. switch(izbor){
  177. case 1:
  178. unos(&dodaj);
  179. break;
  180. case 2:
  181. sortiraj_listu(&dodaj);
  182. break;
  183. case 3:
  184. pretraga(&dodaj);
  185. break;
  186. case 4:
  187. brisi(&dodaj);
  188. break;
  189.  
  190. case 5:
  191. break;}
  192. }while(izbor != 5);
  193.  
  194. system("pause");
  195. return 0;
  196.  
  197. }

Report this snippet  

You need to login to post a comment.