Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 18
  1. #1
    Tham gia
    17-02-2009
    Bài viết
    4
    Like
    0
    Thanked 0 Times in 0 Posts

    C++ 1 bài toán khó cần tìm chuyên gia giúp đỡ

    xây dựng lớp số phức.yêu cầu định nghĩa các phép toán sau:
    -cấu tử để tạo ra số phức
    -các phép toán cơ bản: +,-,*,/ hai số phức
    -các phép toán :=, +=,-=,*=,/=
    -các phép so sánh hai số phức :>,>=,<,<=,==,!=
    -các toán tử nhập xuất
    -các hàm cơ bản:tính liên hợp,tính moodun ,lấy phần thực,lấy phần ảo.
    Anh chị có thể hướng dẫn hoặc làm giúp em bài tập này với ạ!
    Thanhks!! Anh chị
    Quote Quote

  2. #2
    Tham gia
    24-11-2008
    Bài viết
    4
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn có thể nói rõ hơn về yêu cầu đề bài ko?

  3. #3
    Tham gia
    07-02-2009
    Bài viết
    239
    Like
    0
    Thanked 0 Times in 0 Posts
    Mình thấy bài này cũng có gì đâu nhỉ. Đại khái bạn làm 2 cái field chính là phần thực và ảo, 1 vài field phụ nếu cần. Sau đó định nghĩa lại các toán tử hoặc viết các toán tử mới theo yêu cầu. Bài tập của bạn khá dài nên chắc chẳng ai ngồi làm hộ bạn hết tất cả được đâu.

  4. #4
    Tham gia
    24-10-2007
    Location
    Bình Định
    Bài viết
    106
    Like
    0
    Thanked 1 Time in 1 Post
    Bài này là một bài tập lập trình hướng đối tượng, yêu cầu rất rõ ràng là cần tạo ra một lớp số phức, định nghĩa overloading lại các phép toán trên lớp này, đồng thời thêm một số thuộc tính.
    Phần giao diện của nó như vậy là rất rõ rồi, bạn chỉ cần kiếm một cuốn sách dạy Lập trình hướng đối tượng với C++, phần declaration (phần giao diện) làm theo đúng cú pháp hướng dẫn trong đó, sau đó viết phần definition (phần thực thi) theo những hiểu biết trong toán học nữa là xong rồi.
    Nếu bí quá, bạn có thể liên hệ với mình qua nick yahoo: trhthong để mình hướng dẫn thêm.
    Thân chào. Chúc bạn hoàn thành tốt bài tập này.

  5. #5
    Tham gia
    29-05-2004
    Location
    Hue
    Bài viết
    149
    Like
    0
    Thanked 0 Times in 0 Posts
    Bài này không phải là bài khó. Ngày trước có 1 quyển sách lập trình hướng đối tượng c++ viết về lớp này rất hay, rất tiếc mình quên tiêu đề rồi (có lẽ là "Kỹ thuật lập trình c++" của tác giả nước ngoài). Bạn chịu khó xem trong các sách về hướng đối tượng chắc là có hướng dẫn.

  6. #6
    Tham gia
    25-09-2007
    Bài viết
    52
    Like
    0
    Thanked 0 Times in 0 Posts
    hướng dẫn thui heng !
    tạo: class complex
    2 thuộc tính : public float real,image
    tạo constructor :
    complex(int a=0,int b=0)
    {
    real=a;image=b;
    }
    với phép cộng : tạo operator +
    (/*complex:if outline)*/)complex operator+(complex b)
    {
    complex c;
    c.real=real+b.real;c.image=image+b.image;
    return c;
    }
    với phép -= : tạo operator -=
    complex &operator-=(complex b)
    {
    real-=b.real;
    image-=b.image;
    return this;
    }
    int &operator==(complex b)
    {
    return (real==b.real&&image==b.image);
    }
    // ham xuat
    ostream &operator<<(ostream o, phanso b)
    {
    cout<<real<<"+"<<(image>0?' ':'-')<<"*"<<asp(image);
    }
    các cái khác làm tương tự.
    lâu rùi không viết có thể có vài lỗi nhỏ, chủ yêu cung cấp cho bạn phương pháp toán tử của c++ !
    welcome uitstudent.com/forum

  7. #7
    Tham gia
    31-03-2008
    Bài viết
    5
    Like
    0
    Thanked 0 Times in 0 Posts

    Thông tin

    Quote Được gửi bởi thuankiss View Post
    hướng dẫn thui heng !
    tạo: class complex
    2 thuộc tính : public float real,image
    tạo constructor :
    complex(int a=0,int b=0)
    {
    real=a;image=b;
    }
    với phép cộng : tạo operator +
    (/*complex:if outline)*/)complex operator+(complex b)
    {
    complex c;
    c.real=real+b.real;c.image=image+b.image;
    return c;
    }
    với phép -= : tạo operator -=
    complex &operator-=(complex b)
    {
    real-=b.real;
    image-=b.image;
    return this;
    }
    int &operator==(complex b)
    {
    return (real==b.real&&image==b.image);
    }
    // ham xuat
    ostream &operator<<(ostream o, phanso b)
    {
    cout<<real<<"+"<<(image>0?' ':'-')<<"*"<<asp(image);
    }
    các cái khác làm tương tự.
    lâu rùi không viết có thể có vài lỗi nhỏ, chủ yêu cung cấp cho bạn phương pháp toán tử của c++ !
    welcome uitstudent.com/forum
    Bài viết của bạn về cơ bản là đúng, tuy nhiên trong phần định nghĩa toán tử xuất thì bạn viết chưa đúng!
    Theo quy định của C++ thì hàm định nghĩa chồng toán tử nhập xuất phải là hàm bạn tự do(Chủ yếu khó nhất là phần khai báo toán tử nhập xuất này thôi!), cú pháp như sau:
    Code:
    class complex
    {
       //khai báo
       float real, image;
       friend ostream&operator<<(ostream &os, complex &a);//toán tử xuất
       friend istream&operator<<(istream &os, complex &a);//toán tử xuất
    };
    //Lưu ý hàm bạn tự do khai báo ra bên ngoài lớp và không được gắn với lớp
    ostream&operator<<(ostream &os, complex &a)
    {
       os<<a.real(a.image>=0?"+j*":"-j*")<<fabs(a.image)<<endl;
       return os;
    }
    istream&operator<<(istream &is, complex &a)
    {
        cout<<"Phan thuc:";is>>a.real;
        cout<<"Phan ao:";is>>a.image;
        return is;
       return os;
    }

  8. #8
    Tham gia
    01-03-2009
    Bài viết
    220
    Like
    0
    Thanked 0 Times in 0 Posts
    1 cách tổng quát để định nghĩa 1 toán tử thì ta dùng hàm operator với cú pháp a operator b(c,d),trong đó a là kiểu dữ liệu trả về của biểu thức (int ,float ,...),b là kí hiệu của toán tử được định nghĩa (ví dụ +;-;*;/;...),c là thành phần đứng trước b,d là thành phần đứng sau b,c và d phải cùng kiểu dữ liệu,và phải có đủ 2 thành phần c,d(ví dụ bạn định nghĩa toán tử "+" 2 biến có kiểu dữ liệu là phanso bạn khai báo như sau:
    phanso operator +(ps a,ps b)
    {...},phần trong ngoặc bạn chỉ cần viết hàm tính tổng 2 phân số bình thường.Trong hàm main khi bạn khai báo : ps a,b,c;a=b+c;thì lúc này a sẽ bằng giá trị trả tổng của b+c mà khong cần gọi hàm tính tổng b+c.Nói chung phép định nghĩa toán tử chỉ là cách chỉ định 1 kí tự để đại diện cho 1 lời gọi hàm thôi.

  9. #9
    Tham gia
    19-03-2009
    Bài viết
    10
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi pinkka View Post
    xây dựng lớp số phức.yêu cầu định nghĩa các phép toán sau:
    -cấu tử để tạo ra số phức
    -các phép toán cơ bản: +,-,*,/ hai số phức
    -các phép toán :=, +=,-=,*=,/=
    -các phép so sánh hai số phức :>,>=,<,<=,==,!=
    -các toán tử nhập xuất
    -các hàm cơ bản:tính liên hợp,tính moodun ,lấy phần thực,lấy phần ảo.
    Anh chị có thể hướng dẫn hoặc làm giúp em bài tập này với ạ!
    Thanhks!! Anh chị
    trong sach c++ noi rat ro ve cac oan tu ma
    c++ pham van at chang han

  10. #10
    Tham gia
    17-02-2009
    Bài viết
    4
    Like
    0
    Thanked 0 Times in 0 Posts
    mình học hơi kém về phần C+= nên rất mong được các bạn giúp đỡ cụ thể hơn.Thanks!

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

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