Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- /*
- Креирајте класа Rabotnik која во себе содржи:
- ime (низа од максимум 30 знаци)
- prezime (низа од максимум 30 знаци)
- plata (целобројна вредност)
- За оваа класа да се креираат default конструктор и конструктор со аргументи. Да се имплементираат и следните методи:
- getPlata() која ја враќа платата на работникот
- pecati() која ги печати името, презимето и платата.
- Креирајте класа Fabrika во која има:
- rabotnik [100] (низа од вработени)
- brojVraboteni (целобројна вредност)
- Во класата имплементирајте ги следните методи:
- pecatiVraboteni() ги печати сите вработени
- pecatiSoPlata(int plata) ги печати сите вработени со плата поголема или еднаква на дадената во аргументот(int plata).
- Во главната функција се внесуваат податоци за n вработени. Притоа прво се внесува n, па податоците за сите n вработени. Во последниот ред се чита минималната плата.
- На излез да се прикажат прво сите вработени, а потоа само оние со поголема плата од минималната. Треба да се корисатат методите pecatiVraboteni и pecatiSoPlata!
- For example:
- Input:
- 6
- Mile Palkovski 20000
- Kalina Saleska 9530
- Aco Noveski 66320
- Kalina Saleska 10720
- Ilinka Ilieska 30220
- Vesna Petkova 10500
- 23000
- Result:
- Site vraboteni:
- Mile Palkovski 20000
- Kalina Saleska 9530
- Aco Noveski 66320
- Kalina Saleska 10720
- Ilinka Ilieska 30220
- Vesna Petkova 10500
- Vraboteni so plata povisoka od 23000 :
- Aco Noveski 66320
- Ilinka Ilieska 30220
- */
- class Rabotnik{
- private:
- enum Dolzina{imeDolz=30,prezimeDolz=30};
- char ime[imeDolz+1];
- char prezime[prezimeDolz+1];
- int plata;
- public:
- Rabotnik();
- Rabotnik(char *ime,char *prezime,int plata);
- int getPlata();
- void pecati();
- };
- Rabotnik::Rabotnik(){}
- Rabotnik::Rabotnik (char *ime,char *prezime,int plataNaRab):plata(plataNaRab){
- strncpy(this->ime,ime,imeDolz);
- this->ime[imeDolz] = '\0';
- strncpy(this->prezime,prezime,prezimeDolz);
- this->prezime[prezimeDolz] = '\0';
- }
- int Rabotnik::getPlata(){
- return plata;
- }
- void Rabotnik::pecati(){
- cout<<ime<<" "<<prezime<<" "<<plata<<endl;
- }
- class Fabrika{
- private:
- enum Dolzina{MaxRabotnici = 100};
- Rabotnik rabotnik[MaxRabotnici];
- int brojVraboteni;
- public:
- Fabrika();
- Fabrika(Rabotnik *obj,int brojVrab);
- void pecatiVraboteni();
- void pecatiSoPlata(int plata);
- };
- Fabrika::Fabrika(){}
- Fabrika::Fabrika(Rabotnik *obj,int brojVrab):brojVraboteni(brojVrab){
- for (int i=0;i<brojVraboteni;i++){
- rabotnik[i] = *(obj+i);
- }
- }
- void Fabrika::pecatiVraboteni(){
- for (int i=0;i<brojVraboteni;i++){
- rabotnik[i].pecati();
- }
- }
- void Fabrika::pecatiSoPlata(int plata){
- for (int i=0;i<brojVraboteni;i++){
- if (rabotnik[i].getPlata() > plata){
- rabotnik[i].pecati();
- }
- }
- }
- int main()
- {
- enum Dolzina{ImeDolz=30,PrezimeDolz=30,MaxRabotnici=100};
- int n;
- char ime[ImeDolz];
- char prezime[PrezimeDolz];
- int plata;
- int minPlata;
- Rabotnik rabotnik[MaxRabotnici];
- cin>>n;
- for (int i=0;i<n;i++){
- cin>>ime>>prezime>>plata;
- Rabotnik vraboten(ime,prezime,plata);
- rabotnik[i] = vraboten;
- }
- Fabrika fabrika(rabotnik,n);
- cout<<"Site vraboteni:"<<endl;
- fabrika.pecatiVraboteni();
- cin>>minPlata;
- cout<<"Vraboteni so plata povisoka od "<<minPlata<<" :"<<endl;
- fabrika.pecatiSoPlata(minPlata);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement