c分数计算器含源码.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用文档 实用文档 文案大全 文案大全 一、 实验设计方案 1、实验内容与目的(简单介绍实验内容,说明实验目的) 实验目的:设计一个分数计算器:1)实现输入,输出,+,-,*,/运算符的重载;2)实现分子分母的约分与规格化。 实验内容:你的具体选择(要详细) 实现分数计算器的屏幕输入和输出:1)输入采用文件(input.txt)输入,可以有任意个二元分数表达式,表达式之间的分隔符自定义;2)输出到文件(output.txt) —————————————————————————————————————— 输入第一个分数输入运算符若为“;”输入第二个分数 输入第一个分数 输入运算符 若为“;” 输入第二个分数 输入判断符号 计算结果 若为“=” 保 存 结 果 到 output.txt 中 结束本次计算 在实验中还需要面对六个运算符重载,通过运算符重载,我们可以简单的使用分数 计算,而不需要关心它的结构,运算符重载,我们根据基本的数学定理,将加减乘除包 装,并重载了输入输出运算符,这样,在输入输出时便可直接输出用户方便接收的格式。 —————————————————————————————————————— 二、实验步骤、测试与结果分析 1、源程序的设计(在此附上源程序(cpp 文件)清单) #includeiostream #includefstream #includecmath using namespace std; //-------------------------------创建分数类------------------------------------ class Fraction { private: int nume; //分子 int deno; //分母 int Gcf(int m,int n); //辅助函数,返回 m 和 n 最大公因数 public: Fraction(int n=1,int d=1); virtual~Fraction(){} void Reduction(); //约分 int GetNume() const{return nume;} //返回分子int GetDeno() const{return deno;} //返回分母void SetNume(int n); //设置分子 void SetDeno(int d); //设置分母 Fraction operator+(const Fraction a) const; //重载加法符+ Fraction operator-(const Fraction a) const; //重载加法符- Fraction operator*(const Fraction a) const; //重载加法符* Fraction operator/(const Fraction a) const; //重载加法符/ }; ostream operator (ostream out,const Fraction a); //重载输出运算符 istream operator (istream in,Fraction a); //重载输入运算 符 //---------------------------------最大公因数函数------------------------------ int Fraction::Gcf(int m,int n) { if(n==0) return m; //如果 n=0,m 为最大公因数 else return Gcf(n,m%n); //否者辗转相除 } //------------------------------------约分函数--------------------------------- void Fraction::Reduction() { if(deno0) //若分母小于 0,将 符号提前 { nume=-nume; deno=-deno; } int f=Gcf(abs(nume),deno); nume=nume/f; //实现约数 deno=deno/f; } //----------------------------------构造函数----------------------------------- Fraction::Fraction(int n,int d):nume(n),deno(d) { if(deno==0) cout分母为 0endl; //查出异常Reduction(); //约分 } //----------------------------------设置分母函数--------------------------

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档