Advertisement
AnaGocevska

Untitled

Apr 7th, 2015
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.40 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4.  
  5.  
  6. #include<iostream>
  7. #include<cstring>
  8. using namespace std;
  9.  
  10. class Clen{
  11. private:
  12. char name[50];
  13. char surname[50];
  14. int grade;
  15. public:
  16. Clen(const char *name="",const char *surname="",int grade=0){
  17. strcpy(this->name,name);
  18. strcpy(this->surname,surname);
  19. this->grade=grade;
  20. }
  21. Clen& operator ++(){
  22. grade++;
  23. return *this;  
  24. }
  25. Clen& operator ++(int){
  26. grade++;
  27. return *this;  
  28. }
  29. friend ostream &operator <<(ostream &out,Clen &c){
  30. out<<c.name<<" "<<c.surname<<", "<<c.grade<<endl;
  31. return out;    
  32. }
  33. bool operator !=(Clen &c){
  34.         return grade!=c.grade;
  35. }
  36. int getGrade(){
  37. return grade;
  38. }
  39. };
  40.  
  41. class Klub{
  42. private:
  43. char name[100];
  44. Clen *members;
  45. int n;
  46. public:
  47. Klub(const char *name="",Clen *members=NULL,int n=0){
  48. strcpy(this->name,name);
  49. this->members=new Clen[n];
  50. this->n=n;
  51. for(int i=0;i<n;i++){
  52.         this->members[i]=members[i];  
  53. }      
  54. }
  55. Klub(const Klub &k){
  56. strcpy(this->name,k.name);
  57. this->members=new Clen[k.n];
  58. this->n=k.n;
  59. for(int i=0;i<n;i++){
  60.         this->members[i]=k.members[i];
  61. }      
  62. }
  63. ~Klub(){
  64. delete [] members;    
  65. }
  66. Klub &operator =(const Klub &k){
  67. if(this!=&k){
  68.         strcpy(this->name,k.name);
  69.         delete[] members;
  70.         this->members=new Clen[k.n];
  71.         this->n=k.n;
  72.         for(int i=0;i<n;i++){
  73.                 this->members[i]=k.members[i];
  74.         }      
  75. }
  76.         return *this;
  77. }
  78. Klub &operator +=(const Clen &c){
  79.         Clen *tmp = new Clen[n+1];
  80.         for(int i=0;i<n;i++){
  81.                 tmp[i]=members[i];    
  82.         }
  83.         tmp[n]=c;
  84.         n++;
  85.         delete[] members;
  86.         members=tmp;
  87.         return *this;
  88. }
  89. friend ostream &operator <<(ostream &out,Klub &k){
  90.         out<<k.name<<endl;
  91.         for(int i=0;i<k.n;i++){
  92.                 out<<k.members[i];    
  93.         }
  94.         return out;
  95. }
  96. Klub novKlub(Clen &c){
  97.     Klub newKlub(name);
  98.     for(int i=0;i<n;i++){
  99.         if(!(members[i]!=c)){
  100.             newKlub+=members[i]++;
  101.            
  102.         }
  103.     }
  104.     return newKlub;
  105. }
  106.    
  107.  
  108. };
  109. int main()
  110. {
  111.     Clen clen;
  112.     int n, stepen;
  113.     char ime[30], prezime[30];
  114.     cin >> ime >> n;
  115.     Klub k1(ime);
  116.     for(int i = 0; i < n; i++){
  117.         cin >> ime >> prezime >> stepen;
  118.         Clen c(ime, prezime, stepen);
  119.         k1 += c;
  120.         clen = c;
  121.     }  
  122.     Klub k2 = k1.novKlub(clen);
  123.     cout << k2;
  124.     return 0;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement