第十五周任务二

原创 2012年05月29日 21:58:45
源文件:
#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);

}



相关文章推荐

第十五周实验报告 任务二

源程序: CFractionDlg.cpp // CFractionDlg.cpp : 实现文件 // #include "stdafx.h" #include "MyCFraction.h...

C++程序设计实验报告(七十六)---第十五周任务二

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:MF...

第十五周任务二

MyCFriangle.h中的代码 class CFraction {private: int nume; // 分子 int deno; // 分母 public: ...

第十五周作业任务二

01./* (程序头部注释开始) 02.* 程序的版权和版本声明部分 03.* Copyright (c) 2011, 烟台大学计算机学院学生 04.* All rights reser...

第十五周 任务二

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:窗口...

第十五周C++【任务二】设计分数类,开发一个窗口式程序,可以完成分数的四则运算

【任务2】设计分数类,开发一个窗口式程序,可以完成分数的四则运算(参考第8 周任务3)。可供参 考的一个界面如图13,在报告中展示主要的代码(同任务1)。       MyCFraction...

第十五周任务二

/*(文件注释头部开始)  *程序的版权和版本声明部分  *Copyright (c) 2011,烟台大学计算机学院学生  *All rights reserved.  *文件名称: *作 ...

第十五周实验报告(任务二)【程序窗口设计之分数类】

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:窗口...

第十五周任务二(窗口式程序开发之——分数类)

* 问题描述: 设计分数类,开发一个窗口式程序,可以完成分数的四则运算 * (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, ...

《第十五周任务二》分数计算器

/* * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:C++第十五周【任务1】 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第十五周任务二
举报原因:
原因补充:

(最多只允许输入30个字)