1、课 程 设 计 任 务 书 学院 信息科学与工程 专业 通信工程 学生姓名 学号 设计题目 分数类的设计与实现 内容及要求: 建立用于完成分数形式运算的类 RationalNumber。编写一个测试该类的程 序。用整数变量表示类的私有数据(即分子和分母) 。给类提供一个能够对所声 明的对象初始化的构造函数。 为了能够在不提供初始化值的情况下也能对对象初 始化,构造函数中应该包含默认的值。构造函数还应该以最简分数的形式存储数 据,即 2/4 应该在对象中存储成分子为 1、分母为 2 的形式。公有成员函数应该 有以下功能: (1) 两个有理数相加,以最简形式保存结果; (2) 两个有理数相减,以最
2、简形式保存结果; (3) 两个有理数相乘,以最简形式保存结果; (4) 两个有理数相除,以最简形式保存结果; (5) 以 a/b 的形式输出有理数(a 是分子,b 是分母) ; (6) 以浮点形式输出有理数。 进度安排: 第 17 周:分析题目,查阅课题相关资料,进行类设计、算法设计; 第 18 周:程序的设计、调试与实现; 第 19 周:程序测试与分析,撰写课程设计报告,进行答辩验收。 指导教师(签字) : 年 月 日 学院院长(签字) 年 月 日 目目 录录 1 需求分析 . - 1 - 2 算法基本原理 . - 1 - 2.1 加法. - 1 - 2.2 减法. - 2 - 2.3 乘法
3、. - 2 - 2.4 除法. - 2 - 3 类设计. - 2 - 4 详细设计 . - 3 - 4.1 类的接口设计. - 3 - 4.2 类的实现. - 4 - 4.3 主函数设计. - 9 - 5 DOS 界面程序运行结果及分析 . - 11 - 5.1 程序运行结果- 11 - 5.2 运行结果分析 . - 13 - 6 基于 MFC 的图形界面程序开发 . - 13 - 6.1 基于 MFC 的图形界面程序设计 - 13 - 6.2 程序测试. - 22 - 6.3 MFC 程序编写总结 - 25 - 7 参考文献 . - 26 - - 1 - 1 需求分析需求分析 (1) 有理数
4、可分为整数和分数也可分为三种,一;正数,二;0,三;负数。 除了无限不循环小数以外的实数统称有理数。在数学上有理数的运用相当广泛, 所以一款简易的有理数计算器可以大大节约时间, 而且不会因为人为误差导致计 算结果出错。 (2) 依照它们的序列,有理数具有一个序拓扑。有理数是实数的(稠密)子 集,因此它同时具有一个子空间拓扑。采用度量,有理数构成一个度量空间,这 是它的第三个拓扑。 幸运的是, 所有三个拓扑一致并将有理数转化到一个拓扑域。 有理数是非局部紧致空间的一个重要的实例。这个空间也是完全不连通的。有理 数不构成完备的度量空间;实数是它的完备集。 (3)程序测试数据选择若干种有代表性的数据
5、来进行测试,通过临界数据的 测试来判断系统的正确性。 2 算法基本原理算法基本原理 2.1 加法 有理数的加法与小学的加法大有不同,小学的加法不涉及到符号的问题,而 有理数的加法运算总是涉及到两个问题:一是确定结果的符号;二是求结果的绝 对值。 在进行有理数加法运算时,首先判断两个加数的符号:是同号还是异号, 是否有 0。从而确定用那一条法则。在应用过程中,一定要牢记“先符号,后绝 对值“,熟练以后就不会出错了。 多个有理数的加法,可以从左向右计算,也可 以用加法的运算定律计算。 法则 1同号相加,取相同符号,并把绝对值相加。 2绝对值不等的异号加减,取绝对值较大的加数符号,并用较大的绝对值减
6、 去较小的绝对值。互为相反数的两个数相加得 0。 3一个数同 0 相加,仍得这个数。 定律 .同号相加,取相同符号,并把绝对值相加。 .绝对值不相等的异号两数加减, 取绝对值较大的符号, 并用较大的绝对值减 - 2 - 去较小的绝对值。互为相反数的两个数相加得 0。 .一个数同 0 相加,仍得这个数。 .相反数相加结果一定得 0。 2.2 减法 有理数减法法则:减去一个数,等于加上这个数的相反数。其中:两变:减 法运算变加法运算,减数变成它的相反数。一不变:被减数不变。可以表示成: ab=a+(b) 。 2.3 乘法 1.两数相乘,同号为正,异号为负,并把绝对值相乘。例;(-5) (-3)=15 (-6) 4=-24 2.任何数字同 0 相乘,都得 0. 例;0 1=0 3.几个不等于 0 的数字相乘,积的符号由负因数的个数决定。当负因数有奇 数个数时,积为负;当负因数有偶数个数时,积为正。并把其绝对值相乘。例; (-10) -5 (-0.1) (-6)=积为正数,而(-4) (-7) (-25)=积为负数 4.几个数相乘,