Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<iomanip>
- using namespace std;
- const int red = 10, kolona = 5;
- void evaluiraj(char matrica[][kolona], int red);
- void ispis(char matrica[][kolona]);
- void najuspjesnija_kompetencija(char matrica[][5]);
- int student(char mat[][5], int unos);
- int main()
- {
- char matrica[red][kolona] = {};
- int studenti, brojac = 0, temp = 0;
- int unos = 0;
- float temp3 = 0;
- do
- {
- cout << "Unesi studenta za kojeg zelis unijeti kompetenciju" << endl;
- cin >> studenti;
- if (studenti <1 && studenti > 5)
- {
- cout << "Unesi ponovo" << endl;
- cin >> studenti;
- }
- --studenti;
- brojac++;
- evaluiraj(matrica, studenti);
- } while (brojac<5);
- cout << endl;
- ispis(matrica);
- najuspjesnija_kompetencija(matrica);
- temp3 = student(matrica, unos);
- if (temp3>=4,5 || temp3<=5)
- {
- cout << " sa prosjecno ocjenom ekspert" << endl;
- }
- else if (temp>=3,5 || temp3<4,5)
- {
- cout << " sa prosjecno ocjenom strucnjak" << endl;
- }
- system("pause");
- return 0;
- }
- void evaluiraj(char matrica[][kolona], int red)
- {
- char temp;
- cout << "Unesite kompetencije za unesenog studenta" << endl;
- for (int i = 0; i< 5; i++)
- {
- temp = matrica[red][i];
- }
- for (int i = 0; i < 5; i++)
- {
- do {
- if (temp != 0)
- {
- cout << "Greska to ste vec unosili" << endl;
- break;
- }
- else
- {
- cin >> matrica[red][i];
- if (matrica[red][i]<'A' || matrica[red][i] > 'E')
- {
- cout << "Unesite ponovo" << endl;
- cin >> matrica[red][i];
- }
- }
- } while (matrica[red][i] < 'A' || matrica[red][i] > 'E');
- }
- }
- void ispis(char matrica[][kolona])
- {
- cout << "Unese ocjene ovako izgledaju" << endl;
- for (int i = 0; i < red; i++)
- {
- for (int j = 0; j < kolona; j++)
- {
- cout << matrica[i][j] << " ";
- }
- cout << endl;
- }
- }
- int student(char mat[][5], int unos)
- {
- int temp = 0, temp1 = 0, temp3 = 0, temp4 = 0, temp5 = 0, temp6 = 0, temp7 = 0;
- if (unos == 1)
- {
- for (int i = 0; i < 5; i++)
- {
- for (int j = 0; j < 5; j++)
- {
- if (i == 0)
- {
- temp += mat[i][j];
- temp3 = temp;
- temp7 = i;
- }
- else if (i == 1)
- {
- temp1 += mat[i][j];
- if (temp3<temp1)
- {
- temp3 = temp1;
- temp7 = i;
- }
- }
- else if (i == 2)
- {
- temp4 += mat[i][j];
- if (temp4>temp3)
- {
- temp3 = temp4;
- temp7 = i;
- }
- }
- else if (i == 3)
- {
- temp5 += mat[i][j];
- if (temp5>temp3)
- {
- temp3 = temp5;
- }
- }
- else if (i == 4)
- {
- temp6 += mat[i][j];
- if (temp6>temp3)
- {
- temp3 = temp6;
- }
- }
- }
- }
- }
- else
- {
- for (int i = 5; i < 10; i++)
- {
- for (int j = 0; j < 5; j++)
- {
- if (i == 5)
- {
- temp += mat[i][j];
- temp3 = temp;
- temp7 = i;
- }
- else if (i == 6)
- {
- temp1 += mat[i][j];
- if (temp3<temp1)
- {
- temp3 = temp1;
- temp7 = i;
- }
- }
- else if (i == 7)
- {
- temp4 += mat[i][j];
- if (temp4>temp3)
- {
- temp3 = temp4;
- temp7 = i;
- }
- }
- else if (i == 8)
- {
- temp5 += mat[i][j];
- if (temp5>temp3)
- {
- temp3 = temp5;
- temp7 = i;
- }
- }
- else if (i == 8)
- {
- temp6 += mat[i][j];
- if (temp6>temp3)
- {
- temp3 = temp6;
- temp7 = i;
- }
- }
- }
- }
- }
- cout << "Najuspješniji student je " << temp7;
- return temp3 / 5;
- }
- void najuspjesnija_kompetencija(char matrica[][5])
- {
- int temp1 = 0, temp2 = 0, temp3 = 0, temp4 = 0, temp5 = 0, temp6 = 0, temp7 = 0;
- for (int i = 0; i < 10; i++)
- {
- for (int j = 0; j < 5; j++)
- {
- if (matrica[i][j] == 'A')
- {
- matrica[i][j] = 5;
- }
- if (matrica[i][j] == 'B')
- {
- matrica[i][j] = 4;
- }
- if (matrica[i][j] == 'C')
- {
- matrica[i][j] = 3;
- }
- if (matrica[i][j] == 'D')
- {
- matrica[i][j] = 2;
- }
- if (matrica[i][j] == 'E')
- {
- matrica[i][j] = 1;
- }
- }
- }
- for (int i = 0; i < 10; i++)
- {
- for (int j = 0; j < 5; j++)
- {
- if (j == 0)
- {
- temp1 += int(matrica[i][j]);
- temp7 = j;
- temp3 = temp1;
- }
- else if (j == 1)
- {
- temp2 += int(matrica[i][j]);
- if (temp2>temp1)
- {
- temp3 = temp2;
- temp7 = j;
- }
- }
- else if (j == 2)
- {
- temp4 += int(matrica[i][j]);
- if (temp4>temp3)
- {
- temp3 = temp4;
- temp7 = j;
- }
- }
- else if (j == 3)
- {
- temp5 += int(matrica[i][j]);
- if (temp5 > temp3)
- {
- temp3 = temp5;
- temp7 = j;
- }
- }
- else if (j == 4)
- {
- temp6 += int(matrica[i][j]);
- if (temp6>temp3)
- {
- temp3 = temp6;
- temp7 = j;
- }
- }
- }
- }
- float AR = 0;
- AR = temp3 / 5;
- cout << "najuspjesni kompetencija je sa indeksom " << temp7 + 1 << " ima ima vrijednost " << AR << endl;
- }
- //Neka je data matrica kompetencija studenata dimenzija 10x5, gdje svaki red matrice predstavlja studenta,
- //a svaka kolona matrice kompetenciju koju je potrebno evaluirati.Matrica sadrži podatke o studentima
- //sa dva studijska programa, prvih 5 redova za jedan i drugih 5 redova za drugi program.Kompetencije se
- //definišu putem sljedeće skale : A(ekspert), B(stručnjak), C(zadovoljava), D(djelimično zadovoljava) i E(ne zadovoljava).
- //Napisati program koji će implementirati i testirati sljedeće funkcije :
- //• evaluiraj – funkcija omogućava unos evaluacije za određenog(odabranog u glavnom programu)
- //studenta(unosi se samo jedan red matrice), na način da su dozvoljene samo vrijednosti usvojene
- //prethodnom skalom(A, B, C, D i E).U slučaju unosa bilo kojeg karaktera izvan ovog opsega,
- //potrebno je ponoviti unos.Prilikom unosa ispisati poruku za svaku kompetenciju na sljedeći
- //način : „Unesite evaluaciju za kompetenciju C1“, i tako redom za svaku kolonu.
- //• najuspjesnija_kompetencija – funkcija pronalazi kompetenciju(u oba studijska programa) koja je najuspješnija,
- //odnosno na kojoj su studenti ostvarili najbolji rezultat, te vraća i prosječnu ocjenu za tu kompetenciju.
- //Napomena : Pridružiti svakoj oznaci numeričku vrijednost, radi jednostavnosti kalkulacije i poređenja uspjeha
- //pojedinih kompetencija.Koristiti prosljeđivanje najmanje jednog parametra po referenci, te ispis rezultata ne vršiti u funkciji.
- // • najuspjesniji_student – funkcija pronalazi najuspješnijeg studenta u odabranom
- //studijskom programu(studijski program se bira u glavnom programu putem vrijednost 1
- //(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.
- // U glavnom programu testirati implementirane funkcije na način da se uz uspjeh
- //kompetencije ili studenta definiše opisna evaluacija(ekspert, stručnjak, ...).
- //Dodatno ispisati podatke o najuspješnijem studentu, posmatrajući oba studijska programa.
- //Ispis najsupješnije kompetencije ili studenta izvršiti sa oznakama C ili S, uz
- //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