C课程设计分数计算器.doc
文本预览下载声明
PAGE
PAGE 2
?
C++课程设计报告
?
?
?
题目:分数计算器
学号:
姓名:
班级:指导教师:
提交日期:2011-9-15
?
?
?
程序功能简介
分数计算及测试程序,具有对输入的运算进行“+-*/”的功能。
课程设计要求
将主程序设计成一个分数计算器。
可完成“+-*/’等基本运算。
可将分数化为十进制小数和带分数。
可执行“+-*/”(含括号)四则运算。
设计思路
利用程序进行加法 减法 乘法 除法四种基本运算,并约分。主要用到的算法:最小公倍数,最大公约数,交换。加法的原理:结果的分子 是两个数的分子分母交换相乘相加的和,结果的分母是 两分母的最小公倍数。减法的原理与加法类似。乘法的原理:分母相乘,分子相乘。除法的原理:第二个分数上下交换后,使用乘法原理。约分的原理:分子分母分别除以分子分母的最大公约数得到的数组合成新的分子分母。
关键源代码注解
/*#ifndef _TGR_FRACTIONS_H
#define _TGR_FRACTIONS_H*/
#include iostream.h
#include conio.h
#include stdlib.h
#include math.h
//#include bool.h
#include string.h
class fraction //分数类定义
{
public:
fraction(); //constructors
fraction(int initn, int initd);
//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 operator+= (int rhs);
private:
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 lhs, const fraction rhs);
fraction operator+ (const fraction lhs, int rhs);
//subtraction operators
fraction operator- (const fraction lhs, const fraction rhs);
fraction operator- (const fraction lhs, int rhs);
//multiplication operators
fraction operator* (const fraction lhs, const fraction rhs);
fraction operator* (const fraction lhs, int rhs);
//division operators
fraction operator/ (const fraction lhs, const fraction rhs);
fraction operator/ (const fraction lhs, int rhs);
//power operator
fraction operator^ (const fraction base, int exp); //^(幂)运算符重载
//comparison operators
bool operator==
显示全部