Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: [ Solved ]Hoàn thiện chương trình class phân số

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    54

    Wink [ Solved ]Hoàn thiện chương trình class phân số

    /* viet chuong trinh nhap vao 2 phan so.Tinh tong ,tich,hieu,thuong*/
    #include<iostream.h>
    class phan_so
    { private:
    int a,b,c,d;
    public:
    void set();
    float tong();
    float hieu();
    float tich();
    float thuong();
    };
    void phan_so::set()
    { cout<<"Nhap a,b,c,d:\n";
    cin>>a>>b>>c>>d;
    cout<<"phan so 1,2:\n";
    cout<<(float)a/b<<endl<<(float)c/d<<endl;

    }
    float phan_so:: tong()
    { return ( (float)a/b+(float)c/d);
    }
    float phan_so::hieu()
    { return ( (float)a/b-(float)c/d);
    }
    float phan_so:: tich()
    { return ( (float)a/b*(float)c/d);
    }
    float phan_so:: thuong()
    { return ( (float)a/b/((float)c/d));
    }
    void main()
    { phan_so p;
    p.set();
    cout<<"tong cua 2 phan so:"<<p.tong()<<endl;
    cout<<"hieu cua 2 phan so:"<<p.hieu()<<endl;;
    cout<<"tich cua 2 phan so:"<<p.tich()<<endl;;
    cout<<"thuong cua 2 phan so:"<<p.thuong()<<endl;;
    }
    Mọi người cho em hỏi là nếu bài này mà dùng nhiều phân số thì phải là thế nào . ví dụ như là 3 phân số mà cùng phải khai báo trong private là 6 tham số thì khổ quá
    xin mọi người góp ý về chương trình của mình nhé
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn làm vậy là sai rùi. Trong class phân số chỉ có 2 thành viên là tử và mẫu thôi. Các phương thức cộng, trừ, nhân, chia thì truyền một class phân số khác vào, ví dụ như Tong(phan_so &ps) thay cho Tong(). Như vậy bạn có thể cộng được rất nhiều phân số độc lập với nhau.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    54

    anh ơi giải thích cụ thể em đọc ko hiểu
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

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

    trước tiên bạn cần phải hiểu Phanso la 1 đối tượng, có 2 properities là tuso và mauso. cái bạn khai báo trong private: sẽ là properity của đối tượng đó ....
    code ra gió bão

  5. #5
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình sửa lại cho đúng rồi, bạn hãy dựa theo đây mà cài đặt các hàm Trừ, Nhân, Chia nha :
    C++ Code:
    1. #include<iostream.h>
    2. #include<conio.h>
    3.  
    4. class phan_so
    5. {
    6.     private:
    7.         double Tu, Mau;
    8.  
    9.     private:
    10.         double USCLN(double a, double b)
    11.         {
    12.             do
    13.             {
    14.                 if (a > b)
    15.                     a -= b;
    16.                 else
    17.                     b -= a;
    18.             }
    19.             while (a != b);
    20.  
    21.             return a;
    22.         }
    23.  
    24.     public:
    25.         void GanGiaTri(double tu, double mau)
    26.         {
    27.             if (mau != 0)
    28.             {
    29.                 Tu = tu;
    30.                 Mau = mau;
    31.             }
    32.         }
    33.  
    34.         double LayTuSo()
    35.         {
    36.             return Tu;
    37.         }
    38.  
    39.         double LayMauSo()
    40.         {
    41.             return Mau;
    42.         }
    43.  
    44.         double LayGiaTri()
    45.         {
    46.             return (Tu / Mau);
    47.         }
    48.  
    49.         void ToiGian()
    50.         {
    51.             double uscln = USCLN(Tu,Mau);
    52.             Tu /= uscln;
    53.             Mau /= uscln;
    54.         }
    55.  
    56.         phan_so Cong(phan_so &ps)
    57.         {
    58.             phan_so kq;
    59.  
    60.             kq.Mau = Mau * ps.Mau;
    61.             kq.Tu = Tu * ps.Mau + ps.Tu * Mau;
    62.  
    63.             return kq;
    64.         }
    65. };
    66.  
    67. void main()
    68. {
    69.     phan_so p1, p2, p3;
    70.  
    71.     p1.GanGiaTri(1,6);
    72.     p2.GanGiaTri(2,3);
    73.     p3 = p1.Cong(p2);
    74.     p3.ToiGian();
    75.  
    76.     cout<<p3.LayTuSo()<<" / "<<p3.LayMauSo()<<endl;
    77.     getch();
    78. }
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 07-09-2008 lúc 10:52 PM.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  6. #6
    Ngày gia nhập
    12 2007
    Bài viết
    54

    Mặc định [ Solved ]Hoàn thiện chương trình class phân số

    phan_so Cong(phan_so &ps)
    {
    phan_so kq;

    kq.Mau = Mau * ps.Mau;
    kq.Tu = Tu * ps.Mau + ps.Tu * Mau;

    return kq;
    }
    Anh ơi giải thích hộ em code của hàm này với
    phan_so ở đây là kiểu dữ liệu à
    p3 = p1.Cong(p2); cái này có tác dụng gì vậy
    Rất mong được mọi người giúp đỡ :

    Kiến thức mình biết chỉ là hạt cát trên sa mạc

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

    Trích dẫn Nguyên bản được gửi bởi thangit Xem bài viết
    Anh ơi giải thích hộ em code của hàm này với
    phan_so ở đây là kiểu dữ liệu à
    p3 = p1.Cong(p2); cái này có tác dụng gì vậy
    ps là tham chiếu có kiểu là phan_so được truyền vào phương thức Cong

    p3 = p1.Cong(p2)
    gọi phương thức Cong của phan_so p1 với đối số vào là phan_so p2 , kết quả trả về là 1 phan_so sẽ được gán cho phan_so p3
    code ra gió bão

  8. #8
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Nếu bạn làm OOP thì nên thực hiện việc nạp chồng toán tử.
    Cánh Chym ứ mỏi

  9. #9
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    @thangit:
    Bạn có thể xem class như một kiểu dữ liệu cho đơn giản cũng được.

    @dieucay555 :
    Mình sợ bạn ấy mới học nên mới ko làm nạp chồng toán tử mà làm theo hàm.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  10. #10
    Ngày gia nhập
    08 2008
    Nơi ở
    ha noi
    Bài viết
    79

    bài này nhất thiết phải làm bằng class hả bạn làm bằng struct có được không bài này mình làm bằng C rôì nhưng mình bằng struct cơ năm nay mới học C++ nhân tiện mọi người cho mình hỏi luôn classstruct có ji` giống và khác nhau không mong mọi người chỉ dùm

Các đề tài tương tự

  1. [ Solved ]Hỏi về xử lý với nhiều class !
    Gửi bởi pen&pen trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 21-11-2008, 04:45 PM
  2. [ Solved ]Class hàng bán
    Gửi bởi luxiphe89 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 26
    Bài viết cuối: 09-11-2008, 10:04 AM
  3. [ Solved ]Class đơn thức,đa thức.ai biết chỉ đệ cái
    Gửi bởi newcommer trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 9
    Bài viết cuối: 05-11-2008, 10:32 AM
  4. [ Solved ]Hỏi về phương thức trong lớp (class )!
    Gửi bởi camping29 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 07-10-2008, 03:31 PM
  5. [ Solved ]Hỏi về class?
    Gửi bởi khanh_0507 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 12-09-2008, 10:54 AM

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