Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- class Datum { //Да се напише класа Datum
- //во која ќе се чуваат ден, месец и година (цели броеви).
- private:
- int den;
- int mesec;
- int godina;
- public:
- Datum() {}
- Datum(int den, int mesec, int godina) {
- this->den=den;
- this->mesec=mesec;
- this->godina=godina;
- }
- Datum (const Datum &d) {
- this->den=d.den;
- this->mesec=d.mesec;
- this->godina=d.godina;
- }
- int getgodina() {
- return godina;
- }
- int getmesec() {
- return mesec;
- }
- int getden() {
- return den;
- }
- ~Datum(){}
- };
- class Vraboten { //Да се напише класа Vraboten во која се чува име на вработениот
- //(не повеќе од 20 знаци), плата и датум на раѓање (објект од класата Datum).
- private:
- char ime[20];
- int plata;
- Datum datum;
- public:
- Vraboten () {}
- Vraboten (char *ime, int plata, Datum &datum) { //inace voa malce ne treba mislam ama neka stoe
- strcpy(this->ime, ime);
- this->plata = plata;
- this->datum = datum;
- }
- Vraboten (const Vraboten &v) {
- strcpy(this->ime, v.ime);
- this->plata = v.plata;
- this->datum = v.datum;
- }
- int getplata() {
- return plata;
- }
- Datum getdatum() {
- return datum;
- }
- void print () {// Печатењето на вработениот да биде реализирано со посебна функција
- //print() во рамките на класата Vraboten.
- cout<<"Ime: "<<ime<<" Plata: "<<plata<<endl<<"Datum na raganje: ";
- cout<<datum.getden()<<"."<<datum.getmesec()<<"."<<datum.getgodina()<<endl;
- }
- };
- Vraboten najgolemaplata(Vraboten v[], int n) { //Да се напишат две функции кои како аргументи примаат
- //низа од вработени и големина на низата.
- //Едната функција го враќа вработениот со најголема плата,
- int max=v[0].getplata();
- int ind=0;
- for(int i=0; i<n; i++) {
- if (v[i].getplata() > max) {
- max = v[i].getplata();
- ind = i;
- }
- } return v[ind];
- }
- int pomlad (Datum d1, Datum d2) {
- if(d1.getgodina() > d2.getgodina())
- return 1;
- if(d1.getgodina() < d2.getgodina())
- return 0;
- if(d1.getgodina()==d2.getgodina()) {
- if(d1.getmesec()>d2.getmesec())
- return 1;
- if(d1.getmesec()<d2.getmesec())
- return 0;
- if(d1.getmesec()==d2.getmesec()) {
- if(d1.getden()>d2.getden())
- return 1;
- if(d1.getden()<d2.getden())
- return 0;
- } } }
- Vraboten najmladvraboten (Vraboten v[], int n) { // а другата функција го враќа најмладиот вработен во фирмата.
- Datum najmal = v[0].getdatum();
- int indeks = 0;
- for(int i=0; i<n; i++) {
- if(pomlad(v[i].getdatum(), najmal))
- {
- najmal = v[i].getdatum();
- indeks = i;
- }
- } return v[indeks];
- }
- int main() {
- Datum d1(1, 1, 1980);
- Datum d2(1, 2, 1983);
- Datum d3(11, 12, 1984);
- Vraboten v[3];
- Vraboten v1("Marjan", 40000, d1);
- Vraboten v2("Stefan", 30000, d2);
- Vraboten v3("Marko", 20000, d3);
- v[0] = v1;
- v[1] = v2;
- v[2] = v3;
- cout << "Najmlad vraboten: " << endl; //Во главната програма потребно е да се испечатат
- //на екран податоците за најмалдиот и најплатениот вработен.
- najmladvraboten(v, 3).print();
- cout << "Vraboten so najgolema plata: " << endl;
- najgolemaplata(v, 3).print();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement