您的位置:首页 > 移动开发 > IOS开发

第十五周任务二

2012-05-29 21:58 127 查看
源文件:
#include "stdafx.h"
#include <iostream>
#include "fenshu.h"
using namespace std;

int CFraction::get_nu()
{
return nu;
}
int CFraction::get_de()
{
return de;
}

void CFraction::input()
{
cout<<"输入分数按照nu/de格式"<<endl;
cin>>nu;
cin>>c;
cin>>de;
}

void CFraction::simplify()
{
int x;
if(nu>de)
x = de;
else
x = nu;

for(int i = 2; i<=x;i++)
{
if(nu%i==0&& de%i==0)
{
nu = nu/i;
de = de/i;
i = 1;
}
}
}

CFraction::CFraction(int n,int d)
{
nu = n;
de = d;
}

CFraction CFraction::operator +(CFraction &a)
{
CFraction c;
c.nu = a.nu*de+nu*a.de;
c.de = a.de*de;
return c;
}

CFraction CFraction::operator -(CFraction &a)
{
CFraction c;
c.nu = nu*a.de - a.nu*de;
c.de = a.de*de;
return c;
}

CFraction CFraction::operator *(CFraction &a)
{
CFraction c;
c.nu = nu*a.nu;
c.de = de*a.de;
return c;
}

CFraction CFraction::operator /(CFraction &a)
{
CFraction c;
c.nu = a.nu*de;
c.de = a.de*nu;
return c;
}

CFraction CFraction::operator -()
{
CFraction c;
c.de = -de;
c.nu = -nu;
return c;
}

头文件:
class CFraction
{
private:

int nu;
int de;
char c;

public:
CFraction(int nu = 0,int de = 1);

void set(int nu = 0,int de  = 1);

void input();

void simplify();

void output();

CFraction operator +(CFraction &a);

CFraction operator -(CFraction &a);

CFraction operator *(CFraction &a);

CFraction operator /(CFraction &a);

CFraction operator -();

int get_nu();

int get_de();

};

Button1定义:
void CfenshujisuanDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData();
CFraction C1(a_1,a_2),C2(b_1,b_2),C;
if(fuhao == '+')
{
C = C1 + C2;
}
else if(fuhao == '-')
{
C = C1 - C2;
}
else if(fuhao == '*')
{
C = C1 * C2;
}
else if(fuhao == '/')
{
C = C1 / C2;
}
C.simplify();
c_1 = C.get_nu();
c_2 = C.get_de();
UpdateData(FALSE);

}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息