Posted By

KrunoslavPipic on 11/01/10


Tagged


Versions (?)

Glavni dio programa


 / Published in: C++
 

  1. #include<iostream>
  2. using namespace std;
  3.  
  4. struct struktura{
  5. int sifra;
  6. char naziv[50];
  7. int dob;
  8. }pacijent;
  9.  
  10. typedef int tip;
  11.  
  12. #include "lista_polje.h"
  13.  
  14. int unos(lista *L){
  15. int temp=prvi(L);
  16. struktura pom;
  17. cout<<"\n\nUnesite maticni broj pacijenta: ";
  18. cin>>pacijent.sifra;
  19. if(pacijent.sifra<0){
  20. cout<<"\nPogresan unos!";
  21. cout<<"\nNiste uspijeli dodat pacijenta!";
  22. return 0;
  23. }
  24. if(lociraj(pacijent.sifra,L)!=zadnji(L)){
  25. cout<<"\nPacijent s tim maticnim brojem vec postoji!";
  26. cout<<"\nNiste uspijeli dodat pacijenta!";
  27. return 0;
  28. }
  29. cout<<"\nUnesite ime i prezime pacijenta: ";
  30. cin.ignore();
  31. cin.getline(pacijent.naziv, 50);
  32. if(pacijent.naziv==""){
  33. cout<<"\nPogresan unos!";
  34. cout<<"\nNiste uspijeli dodat pacijenta!";
  35. return 0;
  36. }
  37. cout<<"\nUnesite dob pacijenta: ";
  38. cin>>pacijent.dob;
  39. if(pacijent.dob<=0 || pacijent.dob>=100){
  40. cout<<"\nPogresan unos";
  41. cout<<"\nNiste uspijeli dodat pacijenta!";
  42. return 0;
  43. }
  44. else{
  45. temp=prvi(L);
  46. umetni(pacijent,temp,L);
  47. cout<<"\nPacijent je uspijesno dodan!";
  48. return 1;
  49. }
  50. }
  51.  
  52. void ispis_sortirano(lista *L){
  53. if (prvi(L)==zadnji(L)){
  54. cout << "\nNema zapisanih pacijenata!";
  55. }
  56. else{
  57. bool zamjena = true;
  58. for (int i = zadnji(L)-1; i > 0 && zamjena; i--) {
  59. zamjena = false;
  60. for (int j = 0; j < i; j++){
  61. if (L->polje[j].sifra > L->polje[j+1].sifra){
  62. struktura pom = L->polje[j];
  63. L->polje[j] = L->polje[j+1];
  64. L->polje[j+1] = pom;
  65. zamjena = true;
  66. }
  67. }
  68. }
  69. for(int i=0;i<zadnji(L);i++){
  70. cout<<"\n\nMaticni broj pacijenta: "<< dohvati(lociraj(L->polje[i].sifra,L),L).sifra<<endl;
  71. cout<<"\nIme i prezime pacijenta: "<< dohvati(lociraj(L->polje[i].sifra,L),L).naziv<<endl;
  72. cout<<"\nGodine pacijenta: "<< dohvati(lociraj(L->polje[i].sifra,L),L).dob<<endl;
  73. cout<<"\n-------------------------------------------\n";
  74. }
  75. }
  76. }
  77.  
  78. void mladji_od_18(lista *L){
  79. int ukupno=0;
  80. if (prvi(L)==zadnji(L)){
  81. cout << "\nNema zapisanih pacijenata";
  82. }
  83. else{
  84. for(int i=0;i<zadnji(L);i++){
  85. if(L->polje[i].dob<18){
  86. cout<<"\n\nMaticni broj: "<<L->polje[i].sifra;
  87. cout<<"\nIme i prezime: "<<L->polje[i].naziv;
  88. cout<<"\nGodine: "<<L->polje[i].dob;
  89. ukupno++;
  90. }
  91.  
  92. }
  93. if(ukupno==0){
  94. cout<<"\nNema pacijenata mladjih od 18 godina!";
  95. }
  96. else{
  97. cout<<"\nUkupno pacijenata mladjih od 18: "<<ukupno<<endl;
  98. }
  99. }
  100. }
  101.  
  102. int obrisi(lista *L, int trazena_sifra){
  103. int pom=prvi(L);
  104. if(sljedeci(pom,L)==0){
  105. cout<<"\nLista je prazna!";
  106. return 0;
  107. }
  108. if(lociraj(trazena_sifra,L)==zadnji(L)){
  109. cout<<"\nPacijent s trazenim maticnim brojem ne postoji!";
  110. cout<<"\nNiste uspijeli izbrisat pacijenta!";
  111. return 0;
  112. }
  113. else{
  114. brisi(lociraj(trazena_sifra,L),L);
  115. cout<<"\nPacijent je uspijesno izbrisan!";
  116. return 1;
  117. }
  118. }
  119.  
  120.  
  121.  
  122. int main(){
  123. lista pacijenti;
  124. pocetno(&pacijenti);
  125. int izbor;
  126. char jos;
  127. int trazeni;
  128. do {
  129. system("color A");
  130. cout<<"\n\n\tIZBORNIK";
  131. cout<<"\n\n1. Dodavanje pacijenata";
  132. cout<<"\n2. Ispis svih pacijenata(sortirani prema maticnom broju uzlazno)";
  133. cout<<"\n3. Ispis svih pacijenata mladjih od 18 godina";
  134. cout<<"\n4. Brisanje pacienata";
  135. cout<<"\n9. Izlaz iz programa";
  136. cout<<"\nBirate? ";
  137. cin>>izbor;
  138. cout<<"\n----------------------------------------\n";
  139. switch(izbor){
  140. case 1:
  141. do{
  142. unos(&pacijenti);
  143. cout<<"\nZelite li dodavati jos pacijenata?(d/n)";
  144. cin>>jos;
  145. }while(jos=='d');
  146. break;
  147. case 2:
  148. ispis_sortirano(&pacijenti);
  149. break;
  150. case 3:
  151. mladji_od_18(&pacijenti);
  152. break;
  153. case 4:
  154. do{
  155. ispis_sortirano(&pacijenti);
  156. cout<<"Upisite maticni broj pacijenta kojeg zelite izbrisati: ";
  157. cin>>trazeni;
  158. cout<<"\n--------------------------------------------";
  159. obrisi(&pacijenti,trazeni);
  160. cout<<"\nZelite li brisati jos pacijenata?(d/n)";
  161. cin>>jos;
  162. }while(jos=='d');
  163. break;
  164. case 9:
  165. cout<<"\nIzlazim iz programa...\n";
  166. brisi_sve(&pacijenti);
  167. break;
  168. default:
  169. cout<<"\nKrivi izbor!\n";
  170. }
  171. }while(izbor!=9);
  172.  
  173.  
  174.  
  175. system("pause");
  176. return 0;
  177. }

Report this snippet  

You need to login to post a comment.