Tìm lỗi code phân số C++

Mọi người cho mình hỏi bài toán c++ này với, chương trình bị lỗi gì ạ?

#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;

class Phanso
{
	int tu,mau;
	public:
		void Nhap();
		void Xuat();
		Phanso();
		Phanso(int x,int y);
		int Timmax(Phanso x);
		int Tinhtoan(Phanso x);
};

void Phanso::Nhap()
{
	cout<<"Nhap tu so : ";
	cin>>tu;
	cout<<"Nhap mau so : ";
	cin>>mau;
}
void Phanso::Xuat()
{
	cout<<"Phan so vua nhap la : "<<tu<<"/"<<mau<<endl;
}
int Phanso::Timmax(Phanso x)
{
	if((tu/mau)>(x.tu/x.mau))
		cout<<"Phan so lon nhat la : "<<tu<<"/"<<mau;
	else if((tu/mau)<(x.tu/x.mau))
		cout<<"Phan so lon nhat la : "<<x.tu<<"/"<<x.mau;
	else
		cout<<"Hai phan so bang nhau";
	return 0;
}
Phanso::Phanso()
{
	tu = 0;
	mau = 0;
}
Phanso::Phanso(int x, int y)
{
	tu = x;
	mau = y;
}
int Phanso::Tinhtoan(Phanso x)
{
	int Tong = (tu/mau)+(x.tu/x.mau);
	cout<<"Tong cua 2 phan so la : "<<Tong;
	int Hieu = (tu/mau)-(x.tu/x.mau);
	cout<<"Hieu cua 2 phan so la : "<<Hieu;
	int Tich = (tu/mau)*(x.tu/x.mau);
	cout<<"Tich cua 2 phan so la : "<<Tich;
	int Thuong = (tu/mau)/(x.tu/x.mau);
	cout<<"Thuong cua 2 phan so la : "<<Thuong;
	return 0;
}
int main()
{
	Phanso a;
	a.Nhap();
	a.Xuat();
	Phanso x(3,5);
	int kq = a.Timmax(Phanso x);
	cout<<"Ket qua la : "<<kq;
	int kq1 = a.Tinhtoan(Phanso x);
	cout<<kq1;
	return 0;	
}

Gọi phương thức (hàm) thì không cần truyền kiểu tham số.

Chỉ cần tên biến là được:

int kq = a.Timmax(x);

Học đến C++ hướng đối tượng rồi mà còn chưa biết cách gọi phương thức và kiểu trả về vẫn lung tung thế à?

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?