欢迎来到天天文库
浏览记录
ID:39994726
大小:127.02 KB
页数:10页
时间:2019-07-16
《c++分数计算器含源码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档一、实验设计方案1、实验内容与目的(简单介绍实验内容,说明实验目的)实验目的:设计一个分数计算器:1)实现输入>>,输出<<,+,-,*,/运算符的重载;2)实现分子分母的约分与规格化。实验内容:你的具体选择(要详细)实现分数计算器的屏幕输入和输出:1)输入采用文件(input.txt)输入,可以有任意个二元分数表达式,表达式之间的分隔符自定义;2)输出到文件(output.txt)——————————————————————————————————————2、实验准备工作(阐述解决问题所涉及的算法思想,至少要画一个算法流程图来说明)以下为循环计算二元分数计算式的
2、流程图:输入第一个分数输入运算符输入第二个分数输入判断符号计算结果保存结果到output.txt中若为“=”若为“;”结束本次计算在实验中还需要面对六个运算符重载,通过运算符重载,我们可以简单的使用分数计算,而不需要关心它的结构,运算符重载,我们根据基本的数学定理,将加减乘除包装,并重载了输入输出运算符,这样,在输入输出时便可直接输出用户方便接收的格式。——————————————————————————————————————二、实验步骤、测试与结果分析文案大全实用文档1、源程序的设计(在此附上源程序(cpp文件)清单)#include#includ
3、e#includeusingnamespacestd;//-------------------------------创建分数类------------------------------------classFraction{private:intnume;//分子intdeno;//分母intGcf(intm,intn);//辅助函数,返回m和n最大公因数public:Fraction(intn=1,intd=1);virtual~Fraction(){}voidReduction();//约分intGetNume()const{re
4、turnnume;}//返回分子intGetDeno()const{returndeno;}//返回分母voidSetNume(intn);//设置分子voidSetDeno(intd);//设置分母Fractionoperator+(constFraction&a)const;//重载加法符+Fractionoperator-(constFraction&a)const;//重载加法符-Fractionoperator*(constFraction&a)const;//重载加法符*Fractionoperator/(constFraction&a)const;//重载加
5、法符/};ostream&operator<<(ostream&out,constFraction&a);//重载输出运算符<>(istream&in,Fraction&a);//重载输入运算符>>//---------------------------------最大公因数函数------------------------------intFraction::Gcf(intm,intn){if(n==0)returnm;//如果n=0,m为最大公因数elsereturnGcf(n,m%n);//否者辗转相除}//---------
6、---------------------------约分函数---------------------------------voidFraction::Reduction(){if(deno<0)//若分母小于0,将符号提前文案大全实用文档{nume=-nume;deno=-deno;}intf=Gcf(abs(nume),deno);nume=nume/f;//实现约数deno=deno/f;}//----------------------------------构造函数-----------------------------------Fraction::Fr
7、action(intn,intd):nume(n),deno(d){if(deno==0)cout<<"分母为0"<
此文档下载收益归作者所有