Verica

Dogovor

Mar 27th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. Да се дефинира класа Potpisuvac во која се чуваат информации за:
  2.  
  3. име (низа од максимум 20 знаци)
  4. презиме (низа од максимум 20 знаци)
  5. ЕМБГ (низа од максимум 14 знаци)
  6. За класата да се дефинира copy конструктор, default конструктор и конструктор со аргументи.
  7.  
  8. Да се дефинира класа Dogovor, во која се чуваат информации за:
  9.  
  10. број на договор (int),
  11. категорија на договор (низа од 50 знаци),
  12. поле од 3 потпишувачи на договорот (објекти од класата Potpisuvac)
  13. Во класата да се додаде метод кој ќе проверува дали постојат два исти потпишувачи (имаат ист ЕМБГ).
  14.  
  15. #include <iostream>
  16. #include <cstring>
  17.  
  18. using namespace std;
  19.  
  20. class Potpisuvac
  21. {
  22. private:
  23. char ime[20];
  24. char prezime[20];
  25. char embg[14];
  26. public:
  27. Potpisuvac()
  28. {
  29. }
  30. ~Potpisuvac() {}
  31. Potpisuvac( char *ime, char *prezime, char *embg)
  32. {
  33. strcpy(this->ime, ime);
  34. strcpy(this->prezime,prezime);
  35. strcpy(this->embg,embg);
  36. }
  37. Potpisuvac( const Potpisuvac &p)
  38. {
  39. strcpy(this->ime, p.ime);
  40. strcpy(this->prezime,p.prezime);
  41. strcpy(this->embg,p.embg);
  42. }
  43. void setIme( char *ime){
  44. strcpy(this->ime,ime);
  45. }
  46. void setPrezime( char *prezime){
  47. strcpy(this->prezime,prezime);
  48. }
  49. void setEmbg( char *embg){
  50. strcpy(this->embg,embg);
  51. }
  52. char* getIme(){
  53. return ime;
  54. }
  55. char* getPrezime(){
  56. return prezime;
  57. }
  58. char* getEmbg(){
  59. return embg;
  60. }
  61. };
  62. class Dogovor
  63. {
  64. private:
  65. int broj;
  66. char kategorija[50];
  67. Potpisuvac p[3];
  68. public:
  69. Dogovor(){
  70. }
  71. ~Dogovor(){
  72. }
  73. Dogovor(int broj, char *kategorija, Potpisuvac *p){
  74. this->broj=broj;
  75. strcpy(this->kategorija,kategorija);
  76. strcpy(this->p,p);
  77. }
  78. Dogovor( const Dogovor &d){
  79. this->broj=d.broj;
  80. strcpy(this->kategorija,d.kategorija);
  81. strcpy(this->p=d.p);
  82. }
  83. void setBroj( int bro){
  84. this->broj=broj;
  85. }
  86. void setKategorija( char *kategorija){
  87. strcpy(this->kategorija,kategorija);
  88. }
  89. void setP( Potpisuvac *p){
  90. strcpy(this->p,p);
  91. }
  92. int proverka(){
  93. string s1=p[0].getEmbg();
  94. string s2=p[1].getEmbg();
  95. string s3=p[2].getEmbg();
  96. if(s1==s2)
  97. return 1;
  98. else if(s2==s3)
  99. return 1;
  100. else if(s1==s3)
  101. return 1;
  102. else return 0;
  103. }
  104. };
  105.  
  106.  
  107. //ne smee da se menuva main funkcijata
  108. int main()
  109. {
  110. char embg[13], ime[20], prezime[20], kategorija[20];
  111. int broj, n;
  112. cin >> n;
  113. for(int i = 0; i < n; i++)
  114. {
  115. cin >> embg >> ime >> prezime;
  116. Potpisuvac p1(ime, prezime, embg);
  117. cin >> embg >> ime >> prezime;
  118. Potpisuvac p2(ime, prezime, embg);
  119. cin >> embg >> ime >> prezime;
  120. Potpisuvac p3(ime, prezime, embg);
  121. cin >> broj >> kategorija;
  122. Potpisuvac p[3];
  123. p[0] = p1;
  124. p[1] = p2;
  125. p[2] = p3;
  126. Dogovor d(broj, kategorija, p);
  127. cout << "Dogovor " << broj << ":" << endl;
  128. if(d.proverka() == true)
  129. cout << "Postojat potpishuvaci so ist EMBG" << endl;
  130. else
  131. cout << "Ne postojat potpishuvaci so ist EMBG" << endl;
  132. }
  133. return 0;
  134. }
Advertisement
Add Comment
Please, Sign In to add comment