/**copyright(c) 2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:test.cpp*作者:李硕*版本:Code::Blocks**问题描述:  实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算*输入描述:*程序输出:
*/
#include <iostream>
#include <Cmath>
using namespace std;
class CFraction
{
private:int nume;  // 分子int deno;  // 分母
public:CFraction(int nu=1,int de=1):nume(nu),deno(de){}void simplify();void display();CFraction operator+(const CFraction &c);//两个分数相加,结果要化简CFraction operator-(const CFraction &c);//两个分数相减,结果要化简CFraction operator*(const CFraction &c);//两个分数相乘,结果要化简CFraction operator/(const CFraction &c);//两个分数相除,结果要化简bool operator>(const CFraction &c);bool operator<(const CFraction &c);bool operator==(const CFraction &c);bool operator!=(const CFraction &c);bool operator>=(const CFraction &c);bool operator<=(const CFraction &c);
};
void CFraction::display()
{cout<<nume<<"/"<<deno<<endl;
}
//分数简化
void CFraction::simplify()
{int m,n,t;n=fabs(deno);m=fabs(nume);while(t=m%n)// 求m,n的最大公约数{m=n;n=t;}deno/=n;nume/=n;if(deno<0){deno=-deno;nume=-nume;}
}
CFraction CFraction::operator+(const CFraction &c)
{CFraction t;t.nume=nume*c.deno+c.nume*deno;t.deno=deno*c.deno;t.simplify();return t;
}
CFraction CFraction::operator-(const CFraction &c)
{CFraction t;t.nume=nume*c.deno-c.nume*deno;t.deno=deno*c.deno;t.simplify();return t;
}
CFraction CFraction::operator*(const CFraction &c)
{CFraction t;t.nume=nume*c.nume;t.deno=deno*c.deno;t.simplify();return t;
}
CFraction CFraction::operator/(const CFraction &c)
{CFraction t;t.nume=nume*c.deno;t.deno=deno*c.nume;t.simplify();return t;
}
bool CFraction::operator>(const CFraction &c)
{int n1,d1;n1=nume*c.deno-c.nume*deno;d1=deno*c.deno;if(n1*d1>0)return true;return false;
}
bool CFraction::operator<(const CFraction &c)
{int n1,d1;n1=nume*c.deno-c.nume*deno;d1=deno*c.deno;if(n1*d1<0)return true;return false;
}
bool CFraction::operator==(const CFraction &c)
{if(*this!=c)return false;return true;
}
bool CFraction::operator!=(const CFraction &c)
{if(*this==c)return false;return true;
}bool CFraction::operator>=(const CFraction &c)
{if(*this<c)return false;return true;
}bool CFraction::operator<=(const CFraction &c)
{if(*this>c)return false;return true;
}
int main()
{char c;int n,d;cout<<"输入分数的样例:x/y"<<endl;cin>>n>>c>>d;CFraction x(n,d);x.display();cin>>n>>c>>d;CFraction y(n,d);y.display();CFraction s;s=x+y;cout<<"x+y=";s.display();cout<<endl;s=x-y;cout<<"x-y=";s.display();cout<<endl;s=x*y;cout<<"x*y=";s.display();cout<<endl;s=x/y;cout<<"x/y=";s.display();cout<<endl;if(x>y)cout<<"大于!"<<endl;if(x<y)cout<<"小于! "<<endl;if(x==y)cout<<"等于!"<<endl;return 0;
}

第13周项目1 (1)相关推荐

  1. 继承项目第13周-项目1-基类中成员的访问限定符和派生类的继承方式

    这段时间笔者几篇文章介绍了改继承项目的文章. 关联文章的地址 每日一道理 风,那么轻柔,带动着小树.小草一起翩翩起舞,当一阵清风飘来,如同母亲的手轻轻抚摸自己的脸庞,我喜欢那种感觉,带有丝丝凉意,让人 ...

  2. 第13周项目3-Dijkstra算法的验证

    问题及代码: /* * Copyright (c)2015,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目3.cbp * 作 者:孙翰文 * 完成日期: ...

  3. 数据结构上机实践第13周项目1 - 验证Prim算法的验证

    验证Prim算法的验证 本次实践所用到的算法库点击此处. 实现源代码: //*Copyright (c)2017,烟台大学计算机与控制工程学院* //*All rights reservrd.* // ...

  4. 第13周项目1—动物这样叫2.3

    问题及代码: /** Copyright (c) 2015, 烟台大学计算机学院* All rights reserved.* 文件名称:test.cpp* 作 者:李盈盈* 完成日期:2015年 0 ...

  5. 第13周项目4 立体类族公有的抽象类

    /**copyright(c) 2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:test.cpp*作者:李硕*版本:Code::Blocks**问题描述:设计 ...

  6. 第七周项目三-用多文件组织多个类的程序

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年4月13日*版 本 号:v1. ...

  7. MIT机器学习免费课程,13周从理论到实践,大牛教授Python授课

    郭一璞 发自 麦拜德  量子位 报道 | 公众号 QbitAI MIT的Python机器学习课程,今天正式开课了. 这门课程在edX平台开展,6月11日(换算时差也就是今天)开始,持续到9月4日,一整 ...

  8. python开发数据管理系统客户桌面_实践是最好的老师:给中级 Python 开发人员的 13 个项目构想...

    原标题:实践是最好的老师:给中级 Python 开发人员的 13 个项目构想 学习 python 的基础知识是一种美妙的体验.但是,学习的喜悦可以被对实践项目的渴望所取代.想要建立项目是正常的,因此需 ...

  9. 2019 年第 13 周 DApp 影响力排行榜 | TokenInsight

    鉴于目前 DApp 生态的迅速发展,为客观展示和反映生态的真实状况,TokenInsight 特发布 DApp 影响力排行榜.榜单通过对各 DApp 7 日活跃用户.7 日交易额.活跃天数.合约安全得 ...

最新文章

  1. java web 的标准目录结构(zz)
  2. 收藏:发展之道:简单与专注
  3. ORACLE EXPDP命令使用详细【转】
  4. div悬浮在固定位置_悬浮式超声波致动器概要及研究动向
  5. C++中函数调用时的三种参数传递方式(x,*x,x)
  6. jboss as安装配置_书评:JBoss AS 7:配置,部署和管理
  7. cwc云莱特链_CWC的完整形式是什么?
  8. 从图森未来的数据处理平台,看Serverless工作流应用场景
  9. c++文件流基本用法(fstream, ifstream, ostream)
  10. c语言中0级和1级是什么意思啊,C语言处理指针问题中,二级指针与一级指针的区别是什么?...
  11. spring-retry小结
  12. [转]ORA-01555错误总结(二)
  13. string会被回收吗_互联网大厂面试题:这些面试都会吗?就想要30k?
  14. 第六周--------职业规划------正确的选择让你少奋斗十年
  15. Android 自定义View可拖动移动位置及边缘拉伸放大缩小
  16. 进度条制作-GIF动画
  17. 阿里fastjson 对象转JSON
  18. 数字图像处理 离散余弦变换(DCT)和峰值信噪比(PSNR)
  19. mac清除ps缓存 mac系统存储空间清理
  20. Microsoft软件保护平台服务一直占用大量CPU资源

热门文章

  1. (边写边更)用PHP简单的学生个人信息记录程序
  2. mysql thd_MySQL核心类THD介绍之user_connect
  3. 使用wget从某云端硬盘下载文件
  4. 物联网平台开发:物模型之设备影子的概念与作用
  5. 哈希加盐作为密钥的意义
  6. SpringMVC工作流程 -- 详解
  7. 自动化和计算机专业哪个好就业,我感觉南航就业最好的专业还是电气,自动化,计算机类...
  8. 【STC89C52】学习51单片机的必备电子电路知识基础
  9. 单片机MCU外部晶振的选择
  10. LA-G241P REV1.0联想笔记本电路图