borisdexter

Objektno 2 chas

Jan 16th, 2020
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.87 KB | None | 0 0
  1. class Student{
  2. private:
  3.     int index;
  4.     int polozeniPredmeti;
  5.     int *ocenki;
  6.     char ime[25];
  7.     char nasoka[4];
  8. public:
  9.     Student(){}
  10.  
  11.     //Student luka(181818,5,{6,7,8,7,9},"Luka","kni");
  12.     Student(int index,int polozeniPredmeti,int *ocenki,char *ime,char *nasoka){
  13.     this->index=index;
  14.     this->polozeniPredmeti=polozeniPredmeti;
  15.     for(int i=0;i<polozeniPredmeti;i++){
  16.         this->ocenki[i]=ocenki[i];
  17.     }
  18.     strcpy(this->ime,ime);
  19.     strcpy(this->nasoka,nasoka);
  20.     }
  21.  
  22.     char* getIme(){
  23.     return ime;
  24.     }
  25.  
  26.     char* getNasoka(){
  27.     return nasoka;
  28.     }
  29.  
  30.     int getPredmeti(){
  31.     return polozeniPredmeti;
  32.     }
  33.  
  34.     int getIndex(){
  35.     return index;
  36.     }
  37.  
  38.     float prosek(){
  39.     float suma=0;
  40.     for(int i=0;i<polozeniPredmeti;i++){
  41.         suma+=ocenki[i];
  42.     }
  43.     return suma/polozeniPredmeti;
  44.     }
  45.  
  46.  
  47.     void print(){
  48.     cout<<ime<<" "<<index<<" "<<nasoka<<" "<<polozeniPredmeti<<endl;
  49.     }
  50. };
  51.  
  52.  
  53. class Fakultet{
  54. private:
  55.     Student *nizaStudenti;
  56.     int brojStudenti;
  57.     char ime[25];
  58. public:
  59.     Fakultet(){}
  60.     Fakultet(char ime[],Student *nizaStudenti,int brojStudenti){
  61.     strcpy(this->ime,ime);
  62.     for(int i=0;i<brojStudenti;i++){
  63.         // copy constructor za Student
  64.         this->nizaStudenti[i]=nizaStudenti[i];
  65.     }
  66.     this->brojStudenti=brojStudenti;
  67.     }
  68.     // printaj site studenti od fakultetot
  69.     void printStudenti(){
  70.     for(int i=0;i<brojStudenti;i++){
  71.         nizaStudenti[i].print();
  72.     }
  73.     }
  74.     // studenti so nad X polozeni predmeti
  75.     void kolkuStudentiNadX(int x){
  76.     int brojac=0;
  77.     for(int i=0;i<brojStudenti;i++){
  78.         if(nizaStudenti[i].getPredmeti()>x){
  79.             brojac++;
  80.             cout<<nizaStudenti[i].getIme()<<endl;
  81.         }
  82.     }
  83.     //cout<<"Studenti so nad "<<x<<" polozeni predmeti ima "<<brojac<<endl;
  84.     }
  85.  
  86.     // studenti zapishani pred 2018
  87.     void studentiPred2018(){
  88.     for(int i=0;i<brojStudenti;i++){
  89.         if((nizaStudenti[i].getIndex())/10000<18){
  90.             cout<<nizaStudenti[i].getIme()<<endl;
  91.         }
  92.     }
  93.     }
  94.  
  95.     int daliPostoiStudent(Student objekt){
  96.     for(int i=0;i<brojStudenti;i++){
  97.         if(nizaStudenti[i].getIndex()==objekt.getIndex()){
  98.             return 1;
  99.         }
  100.     }
  101.     return 0;
  102.     }
  103.     //pet,kni,sis
  104.     void nasokaSoNajvekjeStudenti(){
  105.     int brojPet=0;
  106.     int brojKni=0;
  107.     int brojSis=0;
  108.     for(int i=0;i<brojStudenti;i++){
  109.         if(strcmp(nizaStudenti[i].getNasoka(),"pet")==0){
  110.             brojPet++;
  111.         }else if(strcmp(nizaStudenti[i].getNasoka(),"kni")==0){
  112.             brojKni++;
  113.         }else{
  114.             brojSis++;
  115.         }
  116.     }
  117.  
  118.     if(brojPet>brojSis && brojPet>brojKni){
  119.         cout<<"Pet e nasoka so najvekje studenti "<<brojPet<<endl;
  120.     }
  121.     }
  122. };
  123.  
  124.  
  125. int main(){
  126. cout<<"Vnesi kolku studenti sakash"<<endl;
  127. int n;
  128. cin>>n;
  129. Student nizaStudenti[n];
  130. char ime[25];
  131. int index;
  132. char nasoka[4];
  133. int predmeti;
  134. for(int i=0;i<n;i++){
  135. cin>>ime;
  136. cin>>index;
  137. cin>>nasoka;
  138. cin>>predmeti;
  139. int ocenki[predmeti];
  140. for(int i=0;i<predmeti;i++){
  141.     cin>>ocenki[i];
  142. }
  143. nizaStudenti[i]=Student(index,predmeti,ocenki,ime,nasoka);
  144. }
  145. Fakultet finki("FINKI",nizaStudenti,n);
  146. finki.printStudenti();
  147. //finki.kolkuStudentiNadX(3);
  148. //finki.studentiPred2018();
  149. /*
  150. if(finki.daliPostoiStudent(nizaStudenti[1])){
  151.     cout<<"Da"<<endl;
  152. }else{
  153.     cout<<"Ne"<<endl;
  154. }
  155. */
  156. finki.nasokaSoNajvekjeStudenti();
  157. return 0;
  158. }
  159.  
  160. /*
  161. 3
  162. Luka
  163. 181818
  164. kni
  165. 3
  166. 6
  167. 7
  168. 6
  169. Maja
  170. 161616
  171. pet
  172. 7
  173. 7
  174. 8
  175. 7
  176. 8
  177. 7
  178. 8
  179. 9
  180. Jovan
  181. 171717
  182. pet
  183. 5
  184. 10
  185. 10
  186. 9
  187. 10
  188. 9
  189. */
  190. // primer
  191. /*
  192. class Klupa{
  193. private:
  194.     char boja[15];
  195.     int kolkuMesta;
  196. public:
  197.     Klupa(){}
  198.     Klupa(char boja[],int mesta){
  199.     kolkuMesta=mesta;
  200.     strcpy(this->boja,boja);
  201.     }
  202.     Klupa(const Klupa &k){
  203.     strcpy(this->boja,k.boja);
  204.     this->kolkuMesta=k.kolkuMesta;
  205.     }
  206.     void print(){
  207.     cout<<"Klupa so boja "<<boja<<" i "<<kolkuMesta<<" mesta"<<endl;
  208.     }
  209. };
  210.  
  211.  
  212. class Uchilna{
  213. private:
  214.     int kolkuKlupi;
  215.     Klupa *klupi;
  216.     int prozori;
  217.     bool grealka;
  218. public:
  219.     // default
  220.     Uchilna(){
  221.     cout<<"Default constructor"<<endl;
  222.     }
  223.     // parameter
  224.     Uchilna(int prozori,bool grealka, Klupa k){
  225.     cout<<"Parameter constructor"<<endl;
  226.     this->prozori=prozori;
  227.     this->grealka=grealka;
  228.     // ke ni treba copy constructor vo klasata Klupa
  229.     this->k=k;
  230.     }
  231.     // copy constructor
  232.     Uchilna(const Uchilna &objekt){
  233.     cout<<"Copy constructor"<<endl;
  234.     this->k=objekt.k;
  235.     this->prozori=objekt.prozori;
  236.     this->grealka=objekt.grealka;
  237.     }
  238.  
  239.     // get
  240.     bool getGrealka(){
  241.     return grealka;
  242.     }
  243.     //
  244.     void print(){
  245.     cout<<"Prozori:"<<prozori<<" grealka:"<<grealka;
  246.     k.print();
  247.     }
  248. };
  249.  
  250. // nadvoreshna funkcija
  251.  
  252. int main(){
  253. Klupa a("zelena",2);
  254. Uchilna u(3,true,a);
  255. u.print();
  256. return 0;
  257. }
  258. */
Advertisement
Add Comment
Please, Sign In to add comment