Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- /*
- Да се дефинира класа Potpisuvac во која се чуваат информации за:
- име (низа од максимум 20 знаци)
- презиме (низа од максимум 20 знаци)
- ЕМБГ (низа од максимум 14 знаци)
- За класата да се дефинира copy конструктор, default конструктор и конструктор со аргументи.
- Да се дефинира класа Dogovor, во која се чуваат информации за:
- број на договор (int),
- категорија на договор (низа од 50 знаци),
- поле од 3 потпишувачи на договорот (објекти од класата Potpisuvac)
- Во класата да се додаде метод кој ќе проверува дали постојат два исти потпишувачи (имаат ист ЕМБГ).
- For example:
- Input:
- 2
- 0101988450001 Alek Aleksov
- 0101988450001 Alek Aleksov
- 0202987440022 Marko Markov
- 1 Osiguruvanje
- 0101988450001 Alek Aleksov
- 0101988450011 Tome Tomov
- 0202987440022 Marko Markov
- 2 Kreditiranje
- Result:
- Dogovor 1:
- Postojat potpishuvaci so ist EMBG
- Dogovor 2:
- Ne postojat potpishuvaci so ist EMBG
- */
- class Potpisuvac
- {
- //vasiot kod ovde
- private:
- enum Dolz {ImeDolz = 20,PrezimeDolz = 20,EMBGDolz = 14};
- char ime[ImeDolz+1];
- char prezime[PrezimeDolz+1];
- char EMBG[EMBGDolz+1];
- public:
- Potpisuvac();
- Potpisuvac(const Potpisuvac& r);
- Potpisuvac(char *ime,char*prezime,char *EMBG);
- char *getEMBG();
- };
- Potpisuvac::Potpisuvac(){}
- Potpisuvac::Potpisuvac(const Potpisuvac& r){
- strncpy(this->ime,r.ime,ImeDolz);
- this->ime[ImeDolz] = '\0';
- strncpy(this->prezime,r.prezime,PrezimeDolz);
- this->prezime[PrezimeDolz] = '\0';
- strncpy(this->EMBG,r.EMBG,EMBGDolz);
- this->EMBG[EMBGDolz] = '\0';
- }
- Potpisuvac::Potpisuvac(char *ime,char *prezime,char *EMBG){
- strncpy(this->ime,ime,ImeDolz);
- this->ime[ImeDolz] = '\0';
- strncpy(this->prezime,prezime,PrezimeDolz);
- this->prezime[PrezimeDolz] = '\0';
- strncpy(this->EMBG,EMBG,EMBGDolz);
- this->EMBG[EMBGDolz] = '\0';
- }
- char *Potpisuvac::getEMBG(){
- return EMBG;
- }
- class Dogovor
- {
- //vasiot kod ovde
- private:
- enum Dolzina {DolzNaKat= 50 , BrNaPotpis = 3};
- int brNaDogovor;
- char katNaDogovor[DolzNaKat+1];
- Potpisuvac objPot[BrNaPotpis];
- public:
- Dogovor(int broj, char *kategorija,Potpisuvac *p);
- bool proverka();
- };
- Dogovor::Dogovor(int broj, char *kategorija,Potpisuvac *p){
- this->brNaDogovor = broj;
- strncpy(katNaDogovor,kategorija,DolzNaKat);
- katNaDogovor[DolzNaKat] = '\0';
- this->objPot[0] = p[0];
- this->objPot[1] = p[1];
- this->objPot[2] = p[2];
- }
- bool Dogovor::proverka(){
- if ((strcmp(objPot[0].getEMBG(),objPot[1].getEMBG()) &&
- strcmp(objPot[1].getEMBG() ,objPot[2].getEMBG()) &&
- strcmp(objPot[0].getEMBG() , objPot[2].getEMBG()) )== 0){
- return true;
- }
- else{
- return false;
- }
- }
- //ne smee da se menuva main funkcijata
- int main()
- {
- char embg[13], ime[20], prezime[20], kategorija[20];
- int broj, n;
- cin >> n;
- for(int i = 0; i < n; i++){
- cin >> embg >> ime >> prezime;
- Potpisuvac p1(ime, prezime, embg);
- cin >> embg >> ime >> prezime;
- Potpisuvac p2(ime, prezime, embg);
- cin >> embg >> ime >> prezime;
- Potpisuvac p3(ime, prezime, embg);
- cin >> broj >> kategorija;
- Potpisuvac p[3];
- p[0] = p1; p[1] = p2; p[2] = p3;
- Dogovor d(broj, kategorija, p);
- cout << "Dogovor " << broj << ":" << endl;
- if(d.proverka() == true)
- cout << "Postojat potpishuvaci so ist EMBG" << endl;
- else
- cout << "Ne postojat potpishuvaci so ist EMBG" << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement