Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class student
- {
- public:
- int kod_studenta;
- float ocena;
- };
- class przedmiot
- {
- private:
- string nazwa_przedm;
- student* tab;
- int rozmiar;
- public:
- przedmiot(string nazwa, int n=5)
- {
- nazwa_przedm = nazwa;
- rozmiar = n;
- tab = new student[n];
- for(int i=0; i<rozmiar; i++)
- {
- tab[i].ocena=0;
- tab[i].kod_studenta=i+1;
- }
- }
- void wpisz(float arg)
- {
- for(int i=0; i<rozmiar; i++)
- {
- if(tab[i].ocena == 0)
- {
- tab[i].ocena = arg;
- i = rozmiar;
- }
- }
- }
- float sred(int warunek)
- {
- if(tab[0].ocena != 0)
- {
- float suma = 0;
- int licznik = 0;
- float maxim = tab[0].ocena;
- float minim = tab[0].ocena;
- for(int i=0; i<rozmiar; i++)
- {
- if(tab[i].ocena > 0)
- {
- suma += tab[i].ocena;
- licznik++;
- }
- if(tab[i].ocena > maxim)
- maxim = tab[i].ocena;
- if(tab[i].ocena < minim && tab[i].ocena !=0)
- minim = tab[i].ocena;
- }
- if (warunek == 1)
- return (suma/licznik);
- if (warunek == 2)
- return maxim;
- if (warunek == 3)
- return minim;
- }
- }
- przedmiot *smin(przedmiot *p)
- {
- if(this -> sred(2) > p -> sred(2))
- return this;
- else
- return p;
- }
- void wyswietl()
- {
- cout << "Nazwa przedmiotu: " << nazwa_przedm << endl;
- cout << "Srednia: " << sred(1) << endl;
- cout << "Ocena minimalna: " << sred(3) << endl;
- cout << "Ocena maksymalna: " << sred(2) << endl;
- }
- };
- int main()
- {
- przedmiot p1("Historia", 3);
- p1.wpisz(4.5);
- p1.wpisz(2);
- // p1.wpisz(3);
- przedmiot p2("Przyroda", 4);
- p2.wpisz(4);
- p2.wpisz(5);
- p1.wyswietl();
- p2.wyswietl();
- (p1.smin(&p2)) -> wyswietl();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement