您的位置:首页 > 编程语言 > C语言/C++

C++程序设计实验报告(15.2)

2012-05-30 18:05 393 查看
/*

*实验内容:   

* 程序的版权和版本声明部分   

* Copyright (c) 2011, 烟台大学计算机学院学生   

* All rights reserved.   

* 文件名称:设计分数类

* 作 者: 王琳

* 完成日期: 2012 年 5 月 30日   

* 版 本号: vc2008 

*问题描述:窗口程序设计
*/

MyCFriangle.h中的代码
class CFraction
{private:

int nume; // 分子
int deno; // 分母
public:
CFraction(int nu=0,int de=1); //构造函数,初始化用
void Set(int nu=0,int de=1); //置值,改变值时用
void input(); //按照"nu/de"的格式,如"5/2"的形式输入
void Simplify(); //化简(使分子分母没有公因子)
int Get_nume(){return nume;}
int Get_deno(){return deno;}

CFraction operator+(CFraction &c);//实现分数的加法并化简
CFraction operator-(CFraction &c);//实现分数的减法并化简
CFraction operator*(CFraction &c);//实现分数的乘法并化简
CFraction operator/(CFraction &c);//实现分数的除法并化简
};

MyCFriangle.cpp中的代码
#include"stdafx.h"
#include "MyCFriangle.h"
CFraction::CFraction (int nu, int de)//定义构造函数
{
nume=nu;
deno=de;
}
void CFraction::Set(int nu,int de)
{
nume=nu;
deno=de;

}

void CFraction::Simplify()
{
int i;
if(nume>deno)//分分子和分母哪个大小两种情况
{
for(i=2;i<=nume;i++)
{
if(nume%i==0&&deno%i==0)
{
nume=nume/i;
deno=deno/i;
i=2;
}
}
}
else
for(i=2;i<=deno;i++)
{
if(nume%i==0&&deno%i==0)
{
nume=nume/i;
deno=deno/i;
i=2;
}
}

}

CFraction CFraction::operator+(CFraction &c)//实现分数的加法并化简
{
CFraction c1;

c1.deno=deno*c.deno;
c1.nume=nume*c.deno+c.nume*deno;

c1.Simplify();

return c1;

}
CFraction CFraction::operator-(CFraction &c)//实现分数的减法并化简
{
CFraction c1;

c1.deno=deno*c.deno;
c1.nume=nume*c.deno-c.nume*deno;

c1.Simplify();

return c1;

}
CFraction CFraction::operator*(CFraction &c)//实现分数的乘法并化简
{
CFraction c1;

c1.deno=deno*c.deno;
c1.nume=nume*c.nume;

c1.Simplify();

return c1;

}
CFraction CFraction::operator/(CFraction &c)//实现分数的除法并化简
{
CFraction c1;

c.deno=c.nume;
c.nume=c.deno;
c1.deno=deno*c.deno;
c1.nume=nume*c.nume;

c1.Simplify();

return c1;

}

等号控件中增加的代码
UpdateData();
CFraction c3,c1(c1_n,c1_d),c2(c2_n,c2_d);
if(f=='+')
{
c3=c1+c2;
}
if(f=='-')
{
c3=c1-c2;
}
if(f=='*')
{
c3=c1*c2;
}
if(f=='/')
{
c3=c1/c2;
}
c3_n=c3.Get_nume();
c3_d=c3.Get_deno();

UpdateData(FALSE);
}

另外还要再加#include "MyCFriangle.h"


运行结果:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ c input class