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

Đề tài: Hoàn thiện Class cộng, trừ, nhân, chia phân số.

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

    Mặc định Hoàn thiện Class cộng, trừ, nhân, chia phân số.

    Híc mình là Newbie mới học C++ và Class , bài tập đưa ra là tạo Class với nhập hiển thị , cộng và nhân phân số. Với yêu cầu khi hiển thị là phân số tối giản, nếu mẫu số âm thì đổi dấu "-" lên tử .
    Code:
    #include<iostream.h>
    #include<iomanip>
    class Fraction
    {
    	private: int a,b;
    	int UCLN(int a,int b)
    	{
    		while(a!=b)
    		{
    			if(a>b)a-=b;else b-=a;
    		};
    		return a;
    	}
    	public: 
    		void getFraction();
    		void displayFraction();
    		
    		Fraction add(Fraction);
    		Fraction mul(Fraction);
    		Fraction nghichdao();
    	//	void rutgon();
    };
    void Fraction::getFraction()
    {
    	cout<<"\nNhap vao tu so : ";
    	cin>>a;
    	do{cout<<"\nNhap vao mau so : ";
    		cin>>b ;}
    	while(b==0);
    }
    void Fraction::displayFraction()
    {
    	int c=UCLN(a,b);
    	if(b<0)
    	cout<<" "<<-a/c<<"/"<<" "<<-b/c<<endl;
    	else
    	cout<<" "<<a/c<<"/"<<" "<<b/c<<endl;
    }
    Fraction Fraction::add(Fraction t)
    {
    	Fraction p;
    	p.a=a*t.b+b*t.a;
    	p.b=b*t.b;
    	return p;
    }
    Fraction Fraction::mul(Fraction y)
    {
    	Fraction x;
    	x.a=a*y.a;
    	x.b=b*y.b;
    	return x;
    }
    Fraction Fraction::nghichdao()
    {
    	Fraction p;
    	p.a=b;p.b=a;
    	return p;
    }
    
    /*void Fraction::rutgon()
    {
    	
    	return c;
    
    }*/
    
    void main()
    {
    	Fraction A,B,C;
    	cout<<"Nhap Fraction A : ";
    	A.getFraction();
    	cout<<"\n Fraction A vua nhap la : ";
    	//A.rutgon();
    	A.displayFraction();
    	cout<<"\n Nhap Fraction B : ";
    	B.getFraction();
    	cout<<"\n Fraction vua nhap la : ";
    	B.displayFraction();
    	C=A.add(B);
    	cout<<"\n A + B = ";
    	C.displayFraction();
    	C=A.mul(B);
    	cout<<"\n A * B = ";
    	C.displayFraction();
    	C=A.nghichdao();
    	C.displayFraction();
    	
    }

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    12

    bài toán minh làm trên vs2005.
    file PS.h
    C++ Code:
    1. #pragma once
    2.  
    3. class PS
    4. {
    5. private:
    6.     int num,denom;//luu tu mau
    7.  
    8. public:
    9.     PS(void);//contructor
    10.     int Num()const;//bo getter
    11.     int Denom()const;
    12.     void Input();
    13.     void Print();
    14.     PS add(PS&);//cong
    15.     PS reduce();//toi gian phan so
    16.              ~PS(void);//detructor
    17.  
    18.    
    19. };
    file PS.cpp
    C++ Code:
    1. #include ".\ps.h"
    2. #include "iostream"
    3. using namespace std;
    4. PS::PS(void)
    5. {
    6. }
    7.  
    8. PS::~PS(void)
    9. {
    10. }
    11. void PS::Input()
    12. {
    13.     cout<<"Nhap tu so:";
    14.     cin>>num;
    15.     cout<<"Nhap mau so:";
    16.     cin>>denom;
    17.  
    18. }
    19. void PS::Print()
    20. {
    21.     cout<<num<<"/"<<denom;
    22.  
    23. }
    24. PS PS::add(PS &b)//cong
    25. {
    26.     PS c;
    27.     c.num=num*b.denom+denom*b.num;
    28.     c.denom=denom*b.denom;
    29.     return c;
    30. }
    31. int ucln(int a,int b)
    32. {
    33.              if(a=b)return a;
    34.     if(a*b==0)return 1;
    35.     while(a!=b)
    36.     {   if(a>b)
    37.         a=a-b;
    38.     else b=b-a;
    39.     }
    40.     return a;
    41.  
    42.  
    43. }
    44. PS PS::reduce()
    45. {
    46.     int a;
    47.     a=ucln(num,denom);
    48.     num=num/a;
    49.     denom=denom/a;
    50.     return *this;
    51. }
    //file main.cpp
    C++ Code:
    1. #include ".\ps.h"
    2. #include "iostream"
    3. using namespace std;
    4. //--------------------------------------
    5. int main()
    6. {
    7.     PS a,b,c;
    8.     a.Input();
    9.     a.Print();
    10.     cout<<endl;
    11.     b.Input();
    12.     b.Print();
    13.     c=a.add(b);
    14.     c.Print();
    15.     c.reduce();
    16.     c.Print();
    17.     return 0;
    18. }
    HỌC HỌC NỮA HỌC MÃI.
    YÊU LÀM CHI CHO ĐỜI THÊM KHỔ.
    HỌC CHI NHIỀU XÁCH RỔ ĂN XIN.

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

    cac ban nen dua ra yeu cau cu the. Trong cac thuat toan cua cac ban toi thay chua ổn định./.

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

    mình cần là nếu mẫu số âm thì in ra dấy "-" trên tử số, hay là nhân cả tử và mẫu với "-1" nếu mẫu âm, nhưng mà theo mình làm như trên thì chỉ được với số dương còn nhập số âm thì chịu chêt. Mình là Newbie mới học C++ rất mong được sự giúp đỡ

  5. #5
    Ngày gia nhập
    03 2008
    Bài viết
    0

    à làm được rồi trong phần tìm UCLN thiếu mất ABS của tử số và mẫu số

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

  1. Giới thiệu về dịch vụ chia sẻ dữ liệu Share360.vn
    Gửi bởi voige trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 2
    Bài viết cuối: 28-02-2012, 03:40 PM
  2. Giới thiệu website chuyên chia sẻ kinh nghiệm, diễn đàn thể thao
    Gửi bởi phivanloi trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 09-12-2011, 03:55 PM
  3. Số hoàn thiện lớn nhất trong mảng 1 chiều. Giúp mình sửa lỗi???
    Gửi bởi bk7million trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 29-05-2009, 01:50 AM
  4. [ Solved ]Hoàn thiện chương trình class phân số
    Gửi bởi thangit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 15-09-2008, 06:57 PM
  5. Tính toán cộng trừ nhân chia trên phân số viết bằng C++ Class
    Gửi bởi child2606 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 12-10-2007, 11:37 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