Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: Bài toán về chồng toán tử

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    3

    Mặc định Bài toán về chồng toán tử

    Bài toán chồng toán tử dùng hàm "<<" để xuất dữ liệu và ">>" để nhập dữ liệu.Em không biết code em sai chỗ nào.Mong mấy huynh giúp với!


    C++ Code:
    1. #include<iostream.h>
    2. #include<conio.h>
    3.  
    4. typedef struct
    5. {
    6.     int a[20];  //cac he so
    7.     int n;       //bac cua da thuc
    8. }dt;
    9.  
    10. int i;
    11. ostream& operator<<(ostream &os,dt d)
    12. {
    13.     for(i=0;i<=d.n;i++)
    14.         os<<d.a[i]<<"*x^"<<i<<"+";
    15.     return os;
    16. }
    17.  
    18. istream& operator>>(istream &is,dt d)
    19. {
    20.     cout<<"Nhap bac cua da thuc : ";
    21.     cin>>d.n;
    22.     for(i=0;i<=d.n;i++)
    23.     {
    24.         cout<<"Nhap he so cho bac " << i << " : ";
    25.         is >> d.a[i];
    26.     }
    27.     return is;
    28. }
    29.  
    30. void main (void)
    31. {
    32.     clrscr();
    33.     dt d1,d2;
    34.     cin >> d1 >> d2;
    35.     cout << "\nDa thuc thu nhat: " << d1 ;
    36.     cout << "\nDa thuc thu hai : " << d2 ;
    37.         getch();
    38. }

  2. #2
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Mình thấy nạp trồng này thì bạn phải cho dt thành class chứ nhỉ.
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    3

    Sorry...Mình mới học C++ nên chưa nắm rõ.Vì bài này chỉ để áp dụng để hiểu chồng toán tử là như thế nào.Hix...Code lại sai mà không biết sai chỗ nào.Thanks bạn đã reply...

  4. #4
    Ngày gia nhập
    11 2006
    Bài viết
    633

    Nếu đã chồng toán tử bằng os và is thì khi xuất ra hay nhập vào phải dùng nó chứ ko có dùng cout với cin.
    Nghĩa là is >>d và os <<d

  5. #5
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Mình sửa 1 tẹo thành thế này.Bạn tham khảo nhé.
    C++ Code:
    1. #include<iostream.h>
    2. #include<conio.h>
    3.  
    4. class dt
    5. {
    6. private:
    7.     int a[20];  //cac he so
    8.     int n;       //bac cua da thuc
    9. public:
    10.     dt(){};
    11.     ~dt(){};
    12.     friend ostream& operator<<(ostream &os,const dt &dathuc)
    13.     {
    14.         for(int i=0;i<dathuc.n;i++)
    15.         {
    16.             os<<dathuc.a[i]<<"*x^"<<i+1;
    17.             if(i<dathuc.n-1)
    18.                 os<<"+";
    19.             else
    20.                 os<<endl;
    21.         }
    22.         return os;
    23.     }
    24.    
    25.     friend istream& operator>>(istream &is,dt &dathuc)
    26.     {
    27.         cout<<"Nhap bac cua da thuc : ";
    28.         cin>>dathuc.n;
    29.         for(int i=0;i<dathuc.n;i++)
    30.         {
    31.             cout<<"Nhap he so cho bac " << i+1 << " : ";
    32.             is >> dathuc.a[i];
    33.         }
    34.         return is;
    35.     }
    36. };
    37.  
    38.  
    39. void main (void)
    40. {
    41. //    clrscr();
    42.     dt d1,d2;
    43.     cin >>d1;
    44.     cout << "\nDa thuc thu nhat: "<<d1 ;
    45.     cout << "\nDa thuc thu hai : "<<d2 ;
    46.     getch();
    47. }
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

  6. #6
    Ngày gia nhập
    03 2009
    Bài viết
    3

    Mặc định Bài toán về chồng toán tử

    Thanks các huynh nhiều!Có thế mà em nghĩ miết không biết fix sao!

  7. #7
    Ngày gia nhập
    03 2009
    Bài viết
    14

    Trích dẫn Nguyên bản được gửi bởi thienthan34
    C++ Code:
    1. friend istream& operator>>(istream &is,dt &dathuc)
    2.     {
    3.         cout<<"Nhap bac cua da thuc : ";
    4.         cin>>dathuc.n;
    5.         for(int i=0;i<dathuc.n;i++)
    6.         {
    7.             cout<<"Nhap he so cho bac " << i+1 << " : ";
    8.             is >> dathuc.a[i];
    9.         }
    10.         return is;
    11.     }
    bạn huynhnguyen bảo là khi sử dụng dòng xuất nhập ostream và istream thì mình dùng os<< và is>> mà, code của bạn sao lại dùng cin trong toán tử istream vậy!

  8. #8
    Ngày gia nhập
    04 2008
    Bài viết
    336

    btw ko nhất thiết phải là class thì mới overload được
    code ra gió bão

  9. #9
    Ngày gia nhập
    01 2009
    Bài viết
    165

    bạn làm phép chồng toán tử ko nhất thiết phải dùng class ,chỉ cần dùng struct vẫn làm được mà?

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn