You are on page 1of 3

Subject: Class - basics

#include <iostream>
#include <cstring>
using namespace std;
class Student
{
private:
char ime[20];
char prezime[30];
int index;
float prosek;
public:
Student (){}//default constructor
Student (char im[],char prezim[],int ind,float pros)//constructor with
arguments
{
strcpy(ime,im);
strcpy(prezime,prezim);
index= ind;
prosek = pros;
}
Student (Student &s1)//copy constructor
{
strcpy(ime,s1.ime);
strcpy(prezime,s1.prezime);
index= s1.index;
prosek = s1.prosek;
}
void pecati()
{
cout<<"Studentot :"<<ime<<" "<<prezime<<" Index: "<<index<<" ima prosek :
"<<prosek<<endl;
}
void setIndex(int ind)
{
index= ind;
}
void setProsek(float pr)
{
prosek = pr;
}
void setIme(char im[])
{
strcpy(ime,im);
}
void setPrezime(char prez[])
{
strcpy(prezime,prez);
}
float getProsek()
{
return prosek;
}
int getIndex()
{
return index;
}
char* getIme()
{
return ime;
}
char* getPrezime()
{
return prezime;
}
~Student(){}//destructor
};
class Fakultet
{
private:
char imeFaklutet[30];
Student s[100];
int brStudenti;
public:
Fakultet(){}
Fakultet(char imeF[],Student st[],int brS)
{
strcpy(imeFaklutet,imeF);
brStudenti = brS;
for(int i=0;i<brStudenti;i++)
{
s[i] = st[i];
}
}
void pecati()
{
cout<<"Fakultetot "<<imeFaklutet<<" ima "<<brStudenti<<" studenti."<<endl;
cout<<"Lista na studenti"<<endl;
for(int i=0;i<brStudenti;i++)
{
s[i].pecati();
}
}
void sort()
{
Student temp;
for(int i=0;i<brStudenti;i++)
{
for(int j=0;j<brStudenti-1-i;j++)
{
if(s[j].getProsek()>s[j+1].getProsek())
{
temp = s[j];
s[j] = s[j+1];
s[j+1] = temp;
}
}
}
}
~Fakultet (){}

};
int main()
{
/* Student s;//se povikuva default constructor
s.setIndex(123);
s.setProsek(9.2);
s.setIme("Pece");
s.setPrezime("Petrovski");
s.pecati();
Student s1("Dragan","Jakimovski",511,10);//se povikuva constructor so arg
s1.pecati();
if(s1.getProsek()>s.getProsek())
{
s1.pecati();
cout<<"E podobar"<<endl;
}
Student s2(s1);
s2.pecati();
*/
cout<<"Vnesi ime na faklutet"<<endl;
char imeFaklultet[30];
cin>>imeFaklultet;
Student s[100];//default constructor
char ime[20],prezime[30];//local variables
int index;
float prosek;
int n;
cout<<"Kolku studenti?"<<endl;
cin>>n;
for(int i=0;i<n;i++)
{
cout<<"Vnesi ime i prezime na student"<<endl;
cin>>ime>>prezime;
cout<<"Vnesi index"<<endl;
cin>>index;
cout<<"Vnesi prosek"<<endl;
cin>>prosek;
s[i].setIme(ime);
s[i].setPrezime(prezime);
s[i].setIndex(index);
s[i].setProsek(prosek);
}

Fakultet f(imeFaklultet,s,n);//constructor with arg


f.pecati();
f.sort();
cout<<"Po sortiranjeto"<<endl;
f.pecati();

return 0;
}

You might also like