Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstring>
  4.  
  5. using namespace std;
  6.  
  7. //Cpredmeti
  8. class cpredmeti_zapis{
  9. public:
  10. int sifraPredmeta;
  11. char nazivPredmeta[32];
  12. char nazivSmjera[32];
  13.  
  14. void Unos(){
  15. cout<<"Unesi sifru predmeta: ";
  16. cin>>sifraPredmeta;
  17. cout<<"Unesi naziv predmeta: ";
  18. cin>>nazivPredmeta;
  19. cout<<"Unesi naziv smjera: ";
  20. cin>>nazivSmjera;
  21. }
  22. void Ispis(){
  23. cout<<"Sifra predmeta: "<<sifraPredmeta<<endl;
  24. cout<<"Naziv predmeta: "<<nazivPredmeta<<endl;
  25. cout<<"Naziv smjera: "<<nazivSmjera<<endl;
  26. }
  27. };
  28.  
  29. class cpredmeti{
  30. public:
  31. cpredmeti *sljedeci;
  32. cpredmeti_zapis zapis;
  33.  
  34. //Metode
  35. cpredmeti(){
  36. sljedeci=NULL;
  37. }
  38.  
  39. void UnosNovogPredmeta();
  40. void IspisSvihPredmeta();
  41. void PopisPredmetaZadanogSmjera();
  42. };
  43.  
  44. //Cprijave
  45. class cprijave_zapis{
  46. public:
  47. int sifraPrijave;
  48. int sifraPredmeta;
  49. int maticniBroj;
  50. char rok[32];
  51.  
  52. void Unos(){
  53. cout<<"Unesi sifru prijave: ";
  54. cin>>sifraPrijave;
  55. cout<<"Umnesi maticni broj: ";
  56. cin>>maticniBroj;
  57. cout<<"Unesi rok: ";
  58. cin>>rok;
  59. }
  60. void Ispis(){
  61. cout<<"Sifra prijave: "<<sifraPrijave<<endl;
  62. cout<<"Maticni broj: "<<maticniBroj<<endl;
  63. cout<<"Rok: "<<rok<<endl;
  64. }
  65. };
  66.  
  67. class cprijave{
  68. public:
  69. cprijave *sljedeci;
  70. cprijave_zapis *zapis;
  71.  
  72. //Metode
  73. cprijave(){
  74. zapis=new cprijave_zapis;
  75. cout<<"KONSTRUKTOR\n";
  76. sljedeci=NULL;
  77. }
  78.  
  79. ~cprijave(){
  80. delete sljedeci;
  81. }
  82.  
  83. void UnosPrijave();
  84.  
  85. };
  86.  
  87. //Globals
  88. cpredmeti *listaPredmeta;
  89. cprijave *listaPrijava;
  90.  
  91. //Izbor1
  92. void cpredmeti::UnosNovogPredmeta(){
  93. cpredmeti *z=this;
  94. while(z->sljedeci)
  95. z=z->sljedeci;
  96.  
  97. cpredmeti *n=new cpredmeti;
  98. n->zapis.Unos();
  99. z->sljedeci=n;
  100. }
  101.  
  102. void cpredmeti::IspisSvihPredmeta(){
  103. cpredmeti *t=this->sljedeci;
  104. while(t){
  105. t->zapis.Ispis();
  106. t=t->sljedeci;
  107. }
  108. }
  109.  
  110. void Izbor1(){
  111. cout<<"a) Upis predmeta na kraj liste\n";
  112. cout<<"b) Ispis cijele liste predmeta\n";
  113. cout<<"Izbor: ";
  114. char pizbor;
  115. cin>>pizbor;
  116.  
  117. cout<<"Popis svih prednodno unesenih sifri u listi predmeta: ";
  118. cpredmeti *x=listaPredmeta->sljedeci;
  119. while(x!=NULL){
  120. cout<<x->zapis.sifraPredmeta<<", ";
  121. x=x->sljedeci;
  122. }
  123. cout<<endl;
  124.  
  125. switch(pizbor){
  126. case 'a':
  127. listaPredmeta->UnosNovogPredmeta();
  128. break;
  129. case 'b':
  130. listaPredmeta->IspisSvihPredmeta();
  131. break;
  132. }
  133. }
  134.  
  135. //Izbor 2
  136. void cpredmeti::PopisPredmetaZadanogSmjera(){
  137. char nazivSmjera[32];
  138. cout<<"Unesi naziv smjera: ";
  139. cin>>nazivSmjera;
  140.  
  141. cpredmeti *t=this->sljedeci;
  142. while(t){
  143. if(strcmp(nazivSmjera,t->zapis.nazivSmjera)==0)
  144. cout<<t->zapis.nazivPredmeta<<", ";
  145. t=t->sljedeci;
  146. }
  147. cout<<endl;
  148. }
  149.  
  150. //Izbor 3
  151. void cprijave::UnosPrijave(){
  152. cout<<"Unesi sifru predmeta: ";
  153. int sifraPredmeta;
  154. cin>>sifraPredmeta;
  155.  
  156. bool nadjen=false;
  157. cpredmeti *t=listaPredmeta->sljedeci;
  158.  
  159. while(!nadjen && t!=NULL){
  160. if(t->zapis.sifraPredmeta==sifraPredmeta)
  161. nadjen=true;
  162. else
  163. t=t->sljedeci;
  164. }
  165.  
  166. if(!nadjen)
  167. cout<<"ERROR: Takav zapis ne postoji.\n";
  168. else{
  169. cprijave *z=this;
  170. while(z->sljedeci)
  171. z=z->sljedeci;
  172.  
  173. cprijave *t=new cprijave;
  174. t->zapis->Unos();
  175. t->zapis->sifraPredmeta=sifraPredmeta;
  176. z->sljedeci=t;
  177. }
  178. }
  179.  
  180. //Izbor 4
  181. void Izbor4(){
  182. cout<<"Unesi sifru predmeta: ";
  183. int sifraPredmeta;
  184. cin>>sifraPredmeta;
  185.  
  186. cpredmeti *t=listaPredmeta->sljedeci;
  187. while(t!=NULL && t->zapis.sifraPredmeta!=sifraPredmeta)
  188. t=t->sljedeci;
  189.  
  190. if(t!=NULL){
  191. cout<<"PREDMET: \n";
  192. cout<<"Naziv predmeta: "<<t->zapis.nazivPredmeta<<endl;
  193. cout<<"Naziv smjera: "<<t->zapis.nazivSmjera<<endl;
  194. }
  195. cout<<"PRIJAVE:\n";
  196.  
  197. cprijave *x=listaPrijava->sljedeci;
  198. while(x!=NULL){
  199. if(x->zapis->sifraPredmeta==sifraPredmeta){
  200. x->zapis->Ispis();
  201. cout<<"Sljedeci: "<<x->sljedeci<<endl;
  202. }
  203. x=x->sljedeci;
  204. }
  205. }
  206.  
  207.  
  208. // ----------------- M A I N --------------------
  209. int main(){
  210. int izbor;
  211. listaPredmeta=new cpredmeti;
  212. listaPrijava=new cprijave;
  213.  
  214. do{
  215. cout<<"=== IZBORNIK ===\n";
  216. cout<<"1. Upis predmeta na kraj liste predmeta / ispis cijele liste predmeta\n";
  217. cout<<"2. Popis predmeta zadanog smjera\n";
  218. cout<<"3. Unos prijave na kraj liste prijava\n";
  219. cout<<"4. Ispis liste prijava za zadani predmet\n";
  220. cout<<"Izbor: ";
  221. cin>>izbor;
  222.  
  223. switch(izbor){
  224. case 1:
  225. Izbor1();
  226. break;
  227. case 2:
  228. listaPredmeta->PopisPredmetaZadanogSmjera();
  229. break;
  230. case 3:
  231. listaPrijava->UnosPrijave();
  232. break;
  233. case 4:
  234. Izbor4();
  235. break;
  236. }
  237.  
  238.  
  239.  
  240.  
  241. }while(izbor!=9);
  242.  
  243. system("pause");
  244. return 0;
  245. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement