Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.21 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class student
  6. {
  7. public:
  8.     int kod_studenta;
  9.     float ocena;
  10. };
  11.  
  12. class przedmiot
  13. {
  14. private:
  15.     string nazwa_przedm;
  16.     student* tab;
  17.     int rozmiar;
  18. public:
  19.     przedmiot(string nazwa, int n=5)
  20.     {
  21.         nazwa_przedm = nazwa;
  22.         rozmiar = n;
  23.         tab = new student[n];
  24.         for(int i=0; i<rozmiar; i++)
  25.         {
  26.             tab[i].ocena=0;
  27.             tab[i].kod_studenta=i+1;
  28.         }
  29.     }
  30.     void wpisz(float arg)
  31.     {
  32.         for(int i=0; i<rozmiar; i++)
  33.         {
  34.             if(tab[i].ocena == 0)
  35.             {
  36.                 tab[i].ocena = arg;
  37.                 i = rozmiar;
  38.             }
  39.         }
  40.     }
  41.     float sred(int warunek)
  42.     {
  43.         if(tab[0].ocena != 0)
  44.         {
  45.             float suma = 0;
  46.             int licznik = 0;
  47.             float maxim = tab[0].ocena;
  48.             float minim = tab[0].ocena;
  49.             for(int i=0; i<rozmiar; i++)
  50.             {
  51.                 if(tab[i].ocena > 0)
  52.                 {
  53.                     suma += tab[i].ocena;
  54.                     licznik++;
  55.                 }
  56.                 if(tab[i].ocena > maxim)
  57.                     maxim = tab[i].ocena;
  58.                 if(tab[i].ocena < minim && tab[i].ocena !=0)
  59.                     minim = tab[i].ocena;
  60.             }
  61.             if (warunek == 1)
  62.                 return (suma/licznik);
  63.             if (warunek == 2)
  64.                 return maxim;
  65.             if (warunek == 3)
  66.                 return minim;
  67.         }
  68.     }
  69.     przedmiot *smin(przedmiot *p)
  70.     {
  71.         if(this -> sred(2) > p -> sred(2))
  72.             return this;
  73.         else
  74.             return p;
  75.     }
  76.     void wyswietl()
  77.     {
  78.         cout << "Nazwa przedmiotu: " << nazwa_przedm << endl;
  79.         cout << "Srednia: " << sred(1) << endl;
  80.         cout << "Ocena minimalna: " << sred(3) << endl;
  81.         cout << "Ocena maksymalna: " << sred(2) << endl;
  82.     }
  83.    
  84. };
  85.  
  86. int main()
  87. {
  88.     przedmiot p1("Historia", 3);
  89.     p1.wpisz(4.5);
  90.     p1.wpisz(2);
  91.    // p1.wpisz(3);
  92.     przedmiot p2("Przyroda", 4);
  93.     p2.wpisz(4);
  94.     p2.wpisz(5);
  95.     p1.wyswietl();
  96.     p2.wyswietl();
  97.     (p1.smin(&p2)) -> wyswietl();
  98.     return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement