👇一个视频教你学会C++
tan 90°
编译器—— Dev-C++
点击项目管理,在菜单栏“文件”中新建源代码
添加新单元并保存一个.h的头文件
//防卫式声明
#ifndef _rational_h
#define _rational_h
#include<iostream>
using namespace std;
class rational{
private:
int num;
int den;
void reductfraction();
//将有理数化简成最简形式
public:
void create(int n,int d)
{
num=n;
den=d;
reductfraction();
}
void add(const rational&r1,const rational&r2);
void multi(const rational&r1,const rational&r2);
void display(){
cout<<num<<"/"<<den;
}
};
//add函数将r1 和r2 相加 结果存于当前对象
void rational::add(const rational&r1,const rational&r2)
{
num=r1.num*r2.den+r2.num*r1.den;
den=r1.den*r2.den;
reductfraction();
}
void rational::multi(const rational&r1,const rational&r2)
{
num=r1.num*r2.num;
den=r1.den*r2.den;
reductfraction();
}
void rational::reductfraction() //求分子分母的最大公约数
{
int tmp=(num>den)?den:num;
for(;tmp>1;--tmp)
{
if(num%tmp==0&&den%tmp==0)
{
num/=tmp;
den/=tmp;
break;
}
}
}
#endif
然后是.CPP 文件【代码是抄书的】大佬们就别嘲笑我这个蒟蒻了h。h
#include"rational.h" //👆已经包含了<iostream>
int main()
{
int n, d;
rational r1, r2, r3; //定义三个有理数类的对象
cout << "请输入第一个有理数(分子和分母):";
cin >> n >> d;
r1.create(n,d);
cout << "请输入第二个有理数(分子和分母):";
cin >> n >> d;
r2.create(n,d);
r3.add(r1, r2); //执行r3=r1+r2
r1.display(); cout << " + "; r2.display();
cout << " = "; r3.display(); cout << endl;
r3.multi(r1, r2); //执行r3=r1*r2
r1.display(); cout << " * "; r2.display();
cout << " = "; r3.display(); cout << endl;
return 0;
}