Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.08 KB | None | 0 0
  1. #include<iostream>
  2. #include<iomanip>
  3. #include<string.h>
  4.  
  5.  
  6.  
  7. using namespace std;
  8.  
  9. double m;//ukupni bodovi
  10. double um;//bodovi za prolaznost
  11. double max=0;
  12. double min=INT_MAX;
  13. double max2=INT_MIN;
  14. int br=0;
  15. int br2=0;
  16.  
  17. struct prosjek{
  18. double pp,dp;//prva parcijala,druga parcijala
  19. };
  20.  
  21. struct pamtime{
  22. string ime1,ime2;
  23. };
  24.  
  25. struct student{
  26.  
  27. string predmet;
  28. string ime;
  29. string prezime;
  30. prosjek unos;
  31. pamtime pi;
  32.  
  33. };
  34.  
  35.  
  36. student unesi_podatke(){
  37. student rez;
  38. cout<<"Unesite predmet: ";cin>>rez.predmet;
  39. rez.predmet[0]=toupper(rez.predmet[0]);
  40. cout<<"Unesite ime: ";cin>>rez.ime;
  41. rez.ime[0]=toupper(rez.ime[0]);
  42. cout<<"Unesite prezime: ";cin>>rez.prezime;
  43. cout<<"Unesite bodove sa [ 1.] parcijalnog ispita: ";cin>>rez.unos.pp;
  44. cout<<"Unesite bodove sa [ 2.] parcijalnog ispita: ";cin>>rez.unos.dp;
  45. return rez;
  46. }
  47.  
  48. void ispisi_max(student A[],int a){
  49.  
  50. int maxI;
  51. for(int i=0;i<a;i++){
  52. if(A[i].unos.pp+A[i].unos.dp>::max){
  53. ::max=A[i].unos.pp+A[i].unos.dp;
  54. A->pi.ime1=A[i].ime;
  55. ::br++;
  56. for(int i=1;i<br;i++){
  57. if(i==br){
  58. maxI=i;
  59. A->pi.ime1=A[maxI].ime;
  60. }
  61.  
  62. }
  63.  
  64. }
  65.  
  66. }
  67. cout<<"Student sa maximalnim brojem bodova je "<<A->pi.ime1<<" i ima ukupno ["<<::max<<"] bodova";
  68. }
  69.  
  70.  
  71. void ispisi_min(student A[],int a){
  72.  
  73. int minI;
  74. for(int i=0;i<a;i++){
  75. if(A[i].unos.pp+A[i].unos.dp<(::min)){
  76. ::min=A[i].unos.pp+A[i].unos.dp;
  77. A->pi.ime2=A[i].ime;
  78. ::br2++;
  79. for(int i=1;i<br2;i++){
  80. if(i==br2){
  81. minI=i;
  82. A->pi.ime2=A[minI].ime;
  83. }
  84.  
  85. }
  86.  
  87. }
  88.  
  89. }
  90.  
  91. cout<<"Student sa minimalnim brojem bodova je "<<A->pi.ime2<<" i ima ukupno ["<<::min<<"] bodova";
  92. }
  93.  
  94.  
  95. void ispisi_polozili(student A[],int a){
  96. cout<<"Studenti koji su zadovoljili kriterije su: ";
  97. for(int i=0;i<a;i++){
  98. if(A[i].unos.pp+A[i].unos.dp>um){
  99. cout<<A[i].ime<<" ";
  100. }
  101. }
  102. }
  103.  
  104. void ispisi_nisupolozili(student A[],int a){
  105. cout<<"Studenti koji nisu zadovoljili kriterije su: ";
  106. for(int i=0;i<a;i++){
  107. if(A[i].unos.pp+A[i].unos.dp<um)
  108. cout<<A[i].ime<<" ";
  109. }
  110. }
  111. void rotiraj(student &x,student &y){
  112. student temp=x;
  113. x=y;
  114. y=temp;
  115. }
  116. void sortiraj(student A[],int a){
  117. for(int i=0;i<a-1;i++){
  118. for(int j=0;j<a-1;j++){
  119. if((A[j].unos.pp+A[j].unos.dp)<(A[j+1].unos.pp+A[j+1].unos.dp)){
  120. rotiraj(A[j],A[j+1]);
  121. }
  122. }
  123. }
  124. }
  125. void ispisi_sortirano(student A[],int a){
  126. cout<<"===================================\n";
  127. for(int i=0;i<a;i++){
  128. cout<<" "<<i+1<<". "<<A[i].ime<<" "<<A[i].prezime<<" "<<(A[i].unos.pp+A[i].unos.dp)<<" [BODA]"<<endl;
  129. }
  130. cout<<"===================================\n";
  131. }
  132.  
  133. void ispisi_prolaznost(student A[], int a){
  134. float prolaznost;
  135. float br3=0;
  136. for(int i=0;i<a;i++){
  137. if(A[i].unos.pp+A[i].unos.dp>um){
  138. br3++;
  139. }
  140.  
  141. }
  142. prolaznost=(br3/a)*100;
  143. cout <<"Prolaznost iznosi ["<<prolaznost<<"%]";
  144. }
  145.  
  146.  
  147. void ispisi_studenta(student A){
  148. cout<<"================================\n";
  149. cout<<" "<<A.ime<<" "<<A.prezime<<" "<<(A.unos.pp+A.unos.dp)<<" [BODA]"<<endl;
  150. cout<<"================================\n";
  151. }
  152.  
  153.  
  154. void pretraga_po_imenu(student *A, char *B, int a){
  155. student Uneseni;
  156. for(int i=0;i<a;i++){
  157. int n = A[i].ime.length();
  158. char char_array[n + 1];
  159. strcpy(char_array, A[i].ime.c_str());
  160. if(strcmp(char_array, B)==0){
  161. Uneseni =A[i];
  162.  
  163. }
  164. }
  165. ispisi_studenta(Uneseni);
  166. }
  167.  
  168.  
  169. void pretraga_po_predmetu(student *A, char *B, int a){
  170. student Predmet;
  171. for(int i=0;i<a;i++){
  172. int m = A[i].predmet.length();
  173. char predmet_array[m + 1];
  174. strcpy(predmet_array, A[i].predmet.c_str());
  175. if(strcmp(predmet_array, B)==0){
  176. Predmet = A[i];
  177.  
  178. }
  179. }
  180.  
  181. }
  182.  
  183. void pretraga_po_predmetu_isti_predmet(student *A, char *B, int a){
  184. student Predmet;
  185. cout<<"===================================\n";
  186. for(int i=0;i<a;i++){
  187. int m = A[i].predmet.length();
  188. char predmet_array[m + 1];
  189. strcpy(predmet_array, A[i].predmet.c_str());
  190. if(strcmp(predmet_array, B)==0){
  191. Predmet = A[i];
  192. cout<<" "<<Predmet.ime<<" "<<Predmet.prezime<<" "<<(Predmet.unos.pp+Predmet.unos.dp)<<" [BODA]"<<endl;
  193.  
  194. }
  195. }
  196. cout<<"===================================\n";
  197. }
  198.  
  199.  
  200.  
  201. int main(){
  202.  
  203. int n;
  204. cout<<"==========================\n";
  205. cout<<"Unesite broj studenata: ";
  206. cin>>n;
  207. cout<<"==========================\n";
  208. cout<<endl;
  209. cout<<"----------------------------------------------------------------------\n";
  210. cout<<"[UKUPNI BROJ BODOVA MORA BITI VECI OD 55% DA BI STUDENT POLOZIO ISPIT]\n\n";
  211. cout<<"Unesite ukupan broj bodova [ 1.] i [ 2.] parcijalnog ispita: ";
  212. cin>>m;
  213. cout<<endl;
  214. um=m/1.8;
  215. cout<<" [UKUPNI BROJ BODOVA MORA BITI VECI OD "<<um<<"]\n";
  216. cout<<"----------------------------------------------------------------------\n";
  217.  
  218.  
  219. cout<<endl;
  220.  
  221. student s[30];
  222. for(int i=0;i<n;i++){
  223. cout<<"Unesite podatke o "<<i+1<<". studentu:\n";
  224. s[i]=unesi_podatke();
  225. cout<<endl;
  226. }
  227.  
  228. int izbor;
  229. cout << "------------------------" << endl << "\tMENU" << endl << "------------------------" << endl;
  230. cout << "ID\tOPTION" << endl;
  231. cout << "1)\tStudent sa maksimalnim brojem bodova" << endl << "2)\tStudent sa minimalnim brojem bodova" << endl;
  232. cout << "3)\tStudenti koji su polozili predmet"<<endl<<"4)\tStudenti koji nisu polozili predmet"<<endl;
  233. cout << "5)\tSortiranji niz studenata po broju bodova"<<endl<<"6)\tUnesi nove studente"<<endl<<"7)\tIspisi podataka o studentu na osnovu unesenog predmeta i imena\n"<<"8)\tSortirani niz studenata po broju bodova na osnovu unesenog predmeta\n"<<"9)\tProlaznost[%]"<<endl;
  234. cout << "10)\tKraj";
  235. cout << endl << "---Odaberite opciju: "; cin >> izbor;cout<<endl;
  236.  
  237.  
  238.  
  239.  
  240. do{
  241. if(izbor==1){
  242. ispisi_max(s,n);
  243. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  244. }
  245. if(izbor==2){
  246. ispisi_min(s,n);
  247. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  248. }
  249. if(izbor==3){
  250. ispisi_polozili(s,n);
  251. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  252. }
  253. if(izbor==4){
  254. ispisi_nisupolozili(s,n);
  255. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  256. }
  257. if(izbor==5){
  258. sortiraj(s,n);
  259. ispisi_sortirano(s,n);
  260. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  261. }
  262. if(izbor==6){
  263. cout<<"Unesite podatke o novom studentu:\n";
  264. s[n]=unesi_podatke();
  265. n=n+1;
  266. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  267. }
  268.  
  269. if(izbor==7){
  270. char pretraga[10];
  271. char clas[10];
  272. cout<<"Unesite predmet: ";
  273. cin>>clas;
  274. clas[0]=toupper(clas[0]);
  275. pretraga_po_predmetu(s, clas, n);
  276. cout <<"Unesite ime za ispis: ";
  277. cin>>pretraga;
  278. pretraga[0]=toupper(pretraga[0]);
  279. pretraga_po_imenu(s, pretraga, n);
  280. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  281. }
  282. if(izbor==8){
  283. char clas2[10];
  284. cout<<"Unesite predmet: ";
  285. cin>>clas2;
  286. clas2[0]=toupper(clas2[0]);
  287. sortiraj(s,n);
  288. pretraga_po_predmetu_isti_predmet(s,clas2,n);
  289. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  290. }
  291. if(izbor==9){
  292. ispisi_prolaznost(s,n);
  293. cout << endl << endl << "---Odaberite opciju: "; cin >> izbor;
  294. }
  295.  
  296. } while(izbor!=10);
  297.  
  298.  
  299. return 0;
  300. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement