1、 1 C+课程设计报告课程设计报告 题目:分数计算器 学号: 姓名: 班级:指导教师: 提交日期:2011-9-15 2 一、 程序功能简介 分数计算及测试程序,具有对输入的运算进行“+-*/”的功能。 二、 课程设计要求 1、 将主程序设计成一个分数计算器。 2、 可完成“+-*/等基本运算。 3、 可将分数化为十进制小数和带分数。 4、 可执行“+-*/”(含括号)四则运算。 三、 设计思路 利用程序进行加法 减法 乘法 除法四种基本运算,并约分。主要用到的算法:最小公 倍数,最大公约数,交换。加法的原理:结果的分子 是两个数的分子分母交换相乘相加的 和,结果的分母是 两分母的最小公倍数。
2、减法的原理与加法类似。乘法的原理:分母相乘, 分子相乘。除法的原理:第二个分数上下交换后,使用乘法原理。约分的原理:分子分母分 别除以分子分母的最大公约数得到的数组合成新的分子分母。 四、 关键源代码注解 /*#ifndef _TGR_FRACTIONS_H #define _TGR_FRACTIONS_H*/ #include #include #include #include /#include #include class fraction /分数类定义 public: fraction(); /constructors fraction(int initn, int initd);
3、/accessors int numerator() const; /取分子,const 成员函数,不能修改数据成 员 int denominator() const; /取分母 double decimal() const; /将分数转换为对应的小数 fraction absval() const; /分数的绝对值 /modifiers void setnum(int newnum); /设置分子 void setden(int newden); /设置分母 void simplify(); /约分 void recip(); /分子分母转置 const fraction 3 private
4、: int n; int d; ; /free (nonmember) functions /miscellany void simple(); /“简单计算“函数 void turn(); /“转换“函数 void test(); /测试函数 void complex(); /“混合运算“函数 void exam(); /“随机测试题“函数 int GCF(int x, int y); /求 x,y 的最大公因子 /addition operators fraction operator+ (const fraction fraction operator+ (const fraction /subtraction operators fraction operator- (const fraction fraction operator- (const fraction /multiplica