Advertisement
Guest User

Tancov Klub

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