一、 实验设计方案 1、实验内容与目的(简单介绍实验内容,说明实验目的) 实验目的:设计一个分数计算器:1)实现输入>>,输出<<,+,-,*,/运算符的重载;2)实现分子分母的约分与规格化。 实验内容:你的具体选择(要详细) 实现分数计算器的屏幕输入和输出:1)输入采用文件(input.txt)输入,可以有任意个二元分数表达式,表达式之间的分隔符自定义;2)输出到文件(output.txt) —————————————————————————————————————— 2、实验准备工作(阐述解决问题所涉及的算法思想,至少要画一个算法流程图来说明) 以下为循环计算二元分数计算式的流程图: 在实验中还需要面对六个运算符重载,通过运算符重载,我们可以简单的使用分数计算,而不需要关心它的结构,运算符重载,我们根据基本的数学定理,将加减乘除包装,并重载了输入输出运算符,这样,在输入输出时便可直接输出用户方便接收的格式。 —————————————————————————————————————— 二、实验步骤、测试与结果分析 输入第一个分数 输入运算符 输入第二个分数 输入判断符号 计算结果 保存结 果到ou tpu t.tx t 中 若为“=” 若为“;” 结束 本次 计算 1、源程序的设计(在此附上源程序(cpp 文件)清单) #include #include #include 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); //重载输出运算符<< istr...