Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.11 KB | None | 0 0
  1. #include<iostream>
  2. #include<iomanip>
  3. using namespace std;
  4.  
  5. const int red = 10, kolona = 5;
  6. void evaluiraj(char matrica[][kolona], int red);
  7. void ispis(char matrica[][kolona]);
  8.  
  9.  
  10. void najuspjesnija_kompetencija(char matrica[][5]);
  11. int student(char mat[][5], int unos);
  12.  
  13. int main()
  14. {
  15. char matrica[red][kolona] = {};
  16.  
  17. int studenti, brojac = 0, temp = 0;
  18.  
  19. int unos = 0;
  20. float temp3 = 0;
  21. do
  22. {
  23. cout << "Unesi studenta za kojeg zelis unijeti kompetenciju" << endl;
  24. cin >> studenti;
  25.  
  26. if (studenti <1 && studenti > 5)
  27. {
  28. cout << "Unesi ponovo" << endl;
  29. cin >> studenti;
  30.  
  31. }
  32. --studenti;
  33. brojac++;
  34. evaluiraj(matrica, studenti);
  35. } while (brojac<5);
  36. cout << endl;
  37. ispis(matrica);
  38. najuspjesnija_kompetencija(matrica);
  39. temp3 = student(matrica, unos);
  40. if (temp3>=4,5 || temp3<=5)
  41. {
  42. cout << " sa prosjecno ocjenom ekspert" << endl;
  43.  
  44. }
  45. else if (temp>=3,5 || temp3<4,5)
  46. {
  47. cout << " sa prosjecno ocjenom strucnjak" << endl;
  48. }
  49. system("pause");
  50. return 0;
  51. }
  52.  
  53. void evaluiraj(char matrica[][kolona], int red)
  54. {
  55. char temp;
  56. cout << "Unesite kompetencije za unesenog studenta" << endl;
  57. for (int i = 0; i< 5; i++)
  58. {
  59. temp = matrica[red][i];
  60. }
  61. for (int i = 0; i < 5; i++)
  62. {
  63.  
  64. do {
  65. if (temp != 0)
  66. {
  67. cout << "Greska to ste vec unosili" << endl;
  68. break;
  69. }
  70. else
  71. {
  72. cin >> matrica[red][i];
  73. if (matrica[red][i]<'A' || matrica[red][i] > 'E')
  74. {
  75. cout << "Unesite ponovo" << endl;
  76. cin >> matrica[red][i];
  77. }
  78. }
  79.  
  80.  
  81. } while (matrica[red][i] < 'A' || matrica[red][i] > 'E');
  82.  
  83.  
  84. }
  85. }
  86. void ispis(char matrica[][kolona])
  87. {
  88. cout << "Unese ocjene ovako izgledaju" << endl;
  89. for (int i = 0; i < red; i++)
  90. {
  91. for (int j = 0; j < kolona; j++)
  92. {
  93. cout << matrica[i][j] << " ";
  94. }
  95. cout << endl;
  96. }
  97. }
  98.  
  99. int student(char mat[][5], int unos)
  100. {
  101. int temp = 0, temp1 = 0, temp3 = 0, temp4 = 0, temp5 = 0, temp6 = 0, temp7 = 0;
  102. if (unos == 1)
  103. {
  104. for (int i = 0; i < 5; i++)
  105. {
  106. for (int j = 0; j < 5; j++)
  107. {
  108. if (i == 0)
  109. {
  110. temp += mat[i][j];
  111. temp3 = temp;
  112. temp7 = i;
  113. }
  114. else if (i == 1)
  115. {
  116. temp1 += mat[i][j];
  117. if (temp3<temp1)
  118. {
  119. temp3 = temp1;
  120. temp7 = i;
  121. }
  122. }
  123. else if (i == 2)
  124. {
  125. temp4 += mat[i][j];
  126. if (temp4>temp3)
  127. {
  128. temp3 = temp4;
  129. temp7 = i;
  130. }
  131. }
  132. else if (i == 3)
  133. {
  134. temp5 += mat[i][j];
  135. if (temp5>temp3)
  136. {
  137. temp3 = temp5;
  138. }
  139. }
  140. else if (i == 4)
  141. {
  142. temp6 += mat[i][j];
  143. if (temp6>temp3)
  144. {
  145. temp3 = temp6;
  146. }
  147.  
  148. }
  149. }
  150. }
  151. }
  152. else
  153. {
  154. for (int i = 5; i < 10; i++)
  155. {
  156. for (int j = 0; j < 5; j++)
  157. {
  158. if (i == 5)
  159. {
  160. temp += mat[i][j];
  161. temp3 = temp;
  162. temp7 = i;
  163. }
  164. else if (i == 6)
  165. {
  166. temp1 += mat[i][j];
  167. if (temp3<temp1)
  168. {
  169. temp3 = temp1;
  170. temp7 = i;
  171. }
  172. }
  173. else if (i == 7)
  174. {
  175. temp4 += mat[i][j];
  176. if (temp4>temp3)
  177. {
  178. temp3 = temp4;
  179. temp7 = i;
  180. }
  181. }
  182. else if (i == 8)
  183. {
  184. temp5 += mat[i][j];
  185. if (temp5>temp3)
  186. {
  187. temp3 = temp5;
  188. temp7 = i;
  189. }
  190. }
  191. else if (i == 8)
  192. {
  193. temp6 += mat[i][j];
  194. if (temp6>temp3)
  195. {
  196. temp3 = temp6;
  197. temp7 = i;
  198. }
  199.  
  200. }
  201. }
  202. }
  203. }
  204. cout << "Najuspješniji student je " << temp7;
  205. return temp3 / 5;
  206. }
  207.  
  208. void najuspjesnija_kompetencija(char matrica[][5])
  209. {
  210. int temp1 = 0, temp2 = 0, temp3 = 0, temp4 = 0, temp5 = 0, temp6 = 0, temp7 = 0;
  211. for (int i = 0; i < 10; i++)
  212. {
  213. for (int j = 0; j < 5; j++)
  214. {
  215. if (matrica[i][j] == 'A')
  216. {
  217. matrica[i][j] = 5;
  218. }
  219. if (matrica[i][j] == 'B')
  220. {
  221. matrica[i][j] = 4;
  222. }
  223. if (matrica[i][j] == 'C')
  224. {
  225. matrica[i][j] = 3;
  226. }
  227. if (matrica[i][j] == 'D')
  228. {
  229. matrica[i][j] = 2;
  230. }
  231. if (matrica[i][j] == 'E')
  232. {
  233. matrica[i][j] = 1;
  234. }
  235. }
  236. }
  237. for (int i = 0; i < 10; i++)
  238. {
  239. for (int j = 0; j < 5; j++)
  240. {
  241. if (j == 0)
  242. {
  243. temp1 += int(matrica[i][j]);
  244. temp7 = j;
  245. temp3 = temp1;
  246. }
  247. else if (j == 1)
  248. {
  249. temp2 += int(matrica[i][j]);
  250. if (temp2>temp1)
  251. {
  252. temp3 = temp2;
  253. temp7 = j;
  254. }
  255.  
  256. }
  257. else if (j == 2)
  258. {
  259. temp4 += int(matrica[i][j]);
  260. if (temp4>temp3)
  261. {
  262. temp3 = temp4;
  263. temp7 = j;
  264. }
  265. }
  266. else if (j == 3)
  267. {
  268. temp5 += int(matrica[i][j]);
  269. if (temp5 > temp3)
  270. {
  271. temp3 = temp5;
  272. temp7 = j;
  273. }
  274. }
  275. else if (j == 4)
  276. {
  277. temp6 += int(matrica[i][j]);
  278. if (temp6>temp3)
  279. {
  280. temp3 = temp6;
  281. temp7 = j;
  282. }
  283. }
  284. }
  285. }
  286. float AR = 0;
  287. AR = temp3 / 5;
  288. cout << "najuspjesni kompetencija je sa indeksom " << temp7 + 1 << " ima ima vrijednost " << AR << endl;
  289.  
  290. }
  291.  
  292.  
  293. //Neka je data matrica kompetencija studenata dimenzija 10x5, gdje svaki red matrice predstavlja studenta,
  294. //a svaka kolona matrice kompetenciju koju je potrebno evaluirati.Matrica sadrži podatke o studentima
  295. //sa dva studijska programa, prvih 5 redova za jedan i drugih 5 redova za drugi program.Kompetencije se
  296. //definišu putem sljedeće skale : A(ekspert), B(stručnjak), C(zadovoljava), D(djelimično zadovoljava) i E(ne zadovoljava).
  297. //Napisati program koji će implementirati i testirati sljedeće funkcije :
  298. //• evaluiraj – funkcija omogućava unos evaluacije za određenog(odabranog u glavnom programu)
  299. //studenta(unosi se samo jedan red matrice), na način da su dozvoljene samo vrijednosti usvojene
  300. //prethodnom skalom(A, B, C, D i E).U slučaju unosa bilo kojeg karaktera izvan ovog opsega,
  301. //potrebno je ponoviti unos.Prilikom unosa ispisati poruku za svaku kompetenciju na sljedeći
  302. //način : „Unesite evaluaciju za kompetenciju C1“, i tako redom za svaku kolonu.
  303. //• najuspjesnija_kompetencija – funkcija pronalazi kompetenciju(u oba studijska programa) koja je najuspješnija,
  304. //odnosno na kojoj su studenti ostvarili najbolji rezultat, te vraća i prosječnu ocjenu za tu kompetenciju.
  305. //Napomena : Pridružiti svakoj oznaci numeričku vrijednost, radi jednostavnosti kalkulacije i poređenja uspjeha
  306. //pojedinih kompetencija.Koristiti prosljeđivanje najmanje jednog parametra po referenci, te ispis rezultata ne vršiti u funkciji.
  307. // • najuspjesniji_student – funkcija pronalazi najuspješnijeg studenta u odabranom
  308. //studijskom programu(studijski program se bira u glavnom programu putem vrijednost 1
  309. //(prvih 5 redova) ili 2 (drugih 5 redova), te vraća i prosječnu ocjenu tog studenta.Vrijede iste napomene kao i za prethodnu funkciju.
  310. // U glavnom programu testirati implementirane funkcije na način da se uz uspjeh
  311. //kompetencije ili studenta definiše opisna evaluacija(ekspert, stručnjak, ...).
  312. //Dodatno ispisati podatke o najuspješnijem studentu, posmatrajući oba studijska programa.
  313. //Ispis najsupješnije kompetencije ili studenta izvršiti sa oznakama C ili S, uz
  314. //redni broj kolone ili reda gdje se nalaze u matrici.Npr.Najuspješniji student je S2 sa prosječnom ocjenom „stručnjak“.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement