Guest User

Untitled

a guest
Jun 19th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. using namespace std;
  2.  
  3. struct pac {
  4. int mbr, god;
  5. char ime[20], prez [25];
  6. }p;
  7.  
  8. struct lista {
  9. pac P;
  10. lista *Sljed;
  11. }L;
  12.  
  13.  
  14. typedef struct lista *element;
  15.  
  16.  
  17. element FirstL(lista *L){
  18. return L;
  19. };
  20.  
  21. element EndL(lista *L){
  22. lista *PL;
  23. PL = L;
  24. while(PL->Sljed != NULL){
  25. PL = PL->Sljed;}
  26. return PL;
  27. };
  28.  
  29. element NextL(element p, lista *L){
  30. if (p->Sljed == NULL){
  31. cout << "Trazeni element ne postoji" << endl;
  32. exit(0);
  33. }
  34. else{
  35. lista *PL;
  36. PL = p->Sljed;
  37. return PL; }
  38. };
  39.  
  40. element PreviousL(element p, lista *L){
  41. lista *PL;
  42. PL = L;
  43. while((PL->Sljed != NULL) && (PL->Sljed !=p)) PL = PL->Sljed;
  44. if(PL->Sljed != NULL) return PL;
  45. else {cout << "Trazeni element ne postoji" << endl;
  46. exit(0);}
  47. };
  48.  
  49. element LocateL(int x, lista *L) {
  50. lista *PL;
  51. PL = L;
  52. while((PL->Sljed != NULL) && ((PL->Sljed)->P.mbr != x))
  53. PL = PL->Sljed;
  54. return PL;
  55. };
  56.  
  57. int InsertL(pac x, element p, lista *L){
  58.  
  59. while (L->Sljed) L = L->Sljed;
  60.  
  61. lista *PL;
  62. PL = new lista;
  63.  
  64. PL->P.mbr = x.mbr;
  65. PL->P.god=x.god;
  66. strcpy(PL->P.ime, x.ime);
  67. strcpy(PL->P.prez, x.prez);
  68. PL-> Sljed= NULL;
  69.  
  70. L->Sljed = PL;
  71. (L ->Sljed)->Sljed = NULL;
  72.  
  73. return 1;
  74.  
  75. };
  76. int DeleteL (element p, lista *L){
  77. int izb = 0;
  78. element pp;
  79. pac bpp;
  80. cout << "Upisite Maticni broj pacijenta kojeg zelite obrisati: " ;
  81. cin >> bpp.mbr;
  82. while(L->Sljed){
  83. if((L->Sljed)->P.mbr == bpp.mbr) {
  84. pp = (L->Sljed)->Sljed;
  85. delete L->Sljed;
  86. L->Sljed = pp;
  87. return 1; }
  88. L = L->Sljed;}
  89.  
  90. cout << "Pacijent s upisanim maticnim brojem ne postoji" << endl;
  91. return 0;
  92.  
  93. };
  94. pac RetriveL (element p, lista *L){
  95. pac x;
  96. x = (p->Sljed)->P;
  97. return x;
  98. };
  99.  
  100. void DeleteAllL(lista *L){
  101. L->Sljed = NULL;
  102. };
  103.  
  104. void sort(lista *L){
  105. lista *pred, *tek, *sljed;
  106. int indikator, brojac=0;
  107.  
  108. do{
  109. indikator = 0;
  110. tek = L->Sljed;
  111. pred = L;
  112. while(tek->Sljed){
  113. sljed = tek->Sljed;
  114. if (tek->P.mbr > sljed->P.mbr){
  115. pred -> Sljed = sljed;
  116. tek->Sljed = sljed->Sljed;
  117. sljed->Sljed=tek;
  118. indikator = 1; }
  119.  
  120. pred = pred->Sljed;
  121. tek = pred->Sljed; }
  122.  
  123. }while(indikator==1);
  124. };
  125.  
  126. int pret (lista *L){
  127. int br = 0;
  128. while(L->Sljed){
  129. if((L->Sljed)->P.god < 18){
  130. cout << endl << "Maticni broj: " << (L->Sljed)->P.mbr << endl;
  131. cout << "Ime: " << (L->Sljed)->P.ime << endl;
  132. cout << "Prezime: " << (L->Sljed)->P.prez << endl;
  133. cout << "Godine: " << (L->Sljed)->P.god << endl;
  134. br++;
  135. }
  136. L = L->Sljed;}
  137. return br;
  138. };
  139.  
  140. void isp (lista *L){
  141. cout << "--Ispis sadrzaja liste od najmanjeg maticnog broja--" << endl;
  142. cout << "----------------------------------------------------" ;
  143. while (L->Sljed){
  144. cout << endl << "Maticni broj: " << (L->Sljed)->P.mbr << endl;
  145. cout << "Ime: " << (L->Sljed)->P.ime << endl;
  146. cout << "Prezime: " <<(L->Sljed)->P.prez << endl;
  147. cout << "Godine: " << (L->Sljed)->P.god << endl;
  148. L = L->Sljed; }
  149. };
Add Comment
Please, Sign In to add comment