Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *************************Student.h*****************************
- #include<iostream>
- #include<string>
- using namespace std;
- class Student {
- string ime;
- long ind;
- int* ocene;
- int br_oc, kap;
- public:
- Student(string iime, long iind, int kapp = 40);
- ~Student() { delete[] ocene; }
- Student(const Student&) = delete;
- Student& operator=(const Student&) = delete;
- //dohv ind i imena
- long dohvInd() const { return ind; }
- string dohvIme() const { return ime; }
- Student& promeniIme(string iime) { ime = iime; return *this; }
- Student& promeniInd(long iind) { ind = iind; return *this; }
- //dodavanje nove ocene +=
- Student& operator+=(int ocena) {
- if (br_oc == kap) exit(1);
- else
- ocene[++br_oc] = ocena;
- return *this;
- }
- //dohvatanje broja ocene ocene
- int dohvBrOcena() const {
- return br_oc;
- }
- //dohv ocene sa zadatim rednim brojem
- int operator[](int i) const {
- if (i < 0 || i>br_oc) exit(2);
- else
- return ocene[i];
- }
- //izracunavanje srednje ocene
- double sr_ocena() {
- double suma=0;
- if (br_oc > 0) {
- for (int i = 0; i < br_oc; suma += ocene[i++]);
- return suma / br_oc;
- }
- else return 0;
- }
- };
- ************************************CPP FAJL*****************************************************
- #include "Student.h"
- #include<iostream>
- using namespace std;
- int main() {
- int n;
- cin >> n;
- Student** s= new Student*[n];
- for (int i = 0; i < n; i++) {
- string ime;
- long ind;
- cin >> ime >> ind;
- Student *t = new Student(ime, ind);
- int br_oc;
- cin >> br_oc;
- for (int j = 0; j < br_oc; j++) {
- int ocena; cin >> ocena; *t += ocena;
- }
- //umetanje u uredjeni niz
- int k = i;
- while (k > 0 && s[k - 1]->sr_ocena() < t->sr_ocena()) { s[k] = s[k - 1]; k--; }
- s[k] = t;
- }
- //ispisivanje uredjenog niza
- //imena i srednje ocene
- for (int i = 0; i < n; i++) {
- cout << s[i]->dohvIme() << " " << s[i]->sr_ocena() << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement