第十五周任务2
2012-05-30 18:03
85 查看
class CFraction { private: int nume; // 分子 int deno; // 分母 int gcd(int nu, int de); public: //构造函数及运算符重载的函数声明 CFraction(int nu = 0, int de = 1); //构造函数 friend CFraction operator + (CFraction &c1,CFraction &c2); friend CFraction operator - (CFraction &c1,CFraction &c2); friend CFraction operator * (CFraction &c1,CFraction &c2); friend CFraction operator / (CFraction &c1,CFraction &c2); int get_nume(); int get_deno(); void Simplify(); //化简(使分子分母没有公因子)
#include"stdafx.h" #include"CFraction.h" using namespace std; CFraction::CFraction(int nu, int de) { nume = nu; deno = de; } int CFraction::gcd(int nu, int de) { int t, r, a, b; a = nu; b = de; if (a < b) { t = a; a = b; b = t; } while (b != 0) { r = a % b; a = b; b = r; } return a; } void CFraction::Simplify() { int n ; if(nume < 0) { n = gcd(-nume, deno); } else { n = gcd(nume, deno); } nume = nume / n; deno = deno / n; }
CFraction operator + (CFraction &c1,CFraction &c2) { CFraction c; c.nume = c1.nume * c2.deno + c2.nume * c1.deno; c.deno = c1.deno * c2.deno; return c; } CFraction operator - (CFraction &c1,CFraction &c2) { CFraction c; c.nume = c1.nume * c2.deno - c2.nume * c1.deno; c.deno = c1.deno * c2.deno; return c; } CFraction operator * (CFraction &c1,CFraction &c2) { CFraction c; c.nume = c1.nume * c2.nume; c.deno = c1.deno * c2.deno; return c; } CFraction operator / (CFraction &c1,CFraction &c2) { CFraction c; c.nume = c1.nume * c2.deno; c.deno = c1.deno * c2.nume; return c; } int CFraction::get_nume() { return this->nume; } int CFraction::get_deno() { return this->deno; }
void C分数计算器Dlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); //将把界面上各控件输入的值“捕获”到与之关联的变量中 CFraction c1(c1_nume, c1_deno), c2(c2_nume, c2_deno), c(0, 1); if(sign == '+') { c = c1 + c2; } else if(sign == '-') { c = c1 - c2; } else if(sign == '*') { c = c1 * c2; } else if(sign == '/') { c = c1 / c2; } c.Simplify(); c_nume = c.get_nume(); c_deno = c.get_deno(); UpdateData(FALSE); }
图片传不上去啊!1
相关文章推荐
- 带姓名的成绩单(第十五周上机任务)
- 第十五周实验--任务3--格式输出
- 第十五周任务二(窗口式程序开发之——分数类)
- 《第十五周实验报告任务2——分数计算器》
- 第十五周任务(二)
- C++第十五周【任务1】实现三角形的周长和面积的程序设计
- 第十五周任务3.2
- 第十五周上机任务3-1
- 第十五周上级任务--二维数组
- 第十五周上机任务(杨辉三角)
- 第十五周上机任务项目1-建立专门的数组类处理有关数组的操作
- 第十五周实验--任务2--设计分数类,开发一个窗口式程序,可以完成分数的四则运算。
- 第十五周任务(三)
- 第十五周任务二
- 第十五周任务3-输入输出流中的使用控制符
- 第十五周上机任务3-2
- 第十五周任务(二)
- 第十五周 任务二
- 第十五周实验报告任务1
- 第十五周任务3之各种操作符的功能