. . . .
综合作业报告
一、 试验目的、试验环境、设计思路:
实验目的:掌握面向过程和面向对象程序设计的根本方法和编程技巧,巩固所
学理论知识,使理论与实际相结合。从而提高自我分析问题、解决问题的能力。
通过课程设计,进一步巩固《C++语言程序设计》的根本理论知识,理论联系
实际,进一步培养综合分析问题、解决问题的能力。
实验环境:VisuaiC++6.0
设计思路:定义一个有理数类 num(),通过构造函数实现对数据的初始化;然
后将运算符+、-、*、/重载为该类的成员函数,再在函数按照上述方法将两个
有理数之间的加、减、乘、除运算实现,;再同样通过重载运算符==实现判
定两个有理数是否相等,判定两个数是否相等的方法为判断一个数的分子与另
一个数的分母相乘的值是否与该数的分母与另一个数的分子相乘的值相等;再
定义一个可对有理数约分的函数 yuefen(),在函数体中首先要找到分子与分母
的最大公约数,再将分子与分母同时除以这个最大公约数,优化函数在创建有
理数对象时应执行,在执行其它各种运算之后也需执行它,这样可保证所存储
的有理数随时都是最优的。然后定义一个转换函数 realnum(),将每一个有理
数都好转换成实数形式,且同样在执行各种运算后都执行它。最后定义一个函
数 show(),实现对数据的输出,同时为了防止分母为零的错误输入,当一个有
理数的分母输入为零时,提示输入错误,以保证数据的正确性,当分子输入为
零时,不管其分母多大,都显示输出为零,否那么输出形式为:分子/分母。
二、 功能模块与结构描述〔函数功能和数据结构类型的定义。〕
设有两个有理数a/b和c/d,那么有:
〔1〕有理数相加分子=a*d+b*c;分母=b*d
〔2〕有理数相减分子=a*d-b*c;分母=b*d
〔3〕有理数相乘分子=a*c;分母=b*d
〔4〕有理数相除分子=a*d;分母=b*c
定义一个有理数类num(),通过构造函数实现对数据的初始化;然后将运
算符+、-、*、/重载为该类的成员函数,再在函数按照上述方法将两个有理数
之间的加、减、乘、除运算实现,;再同样通过重载运算符==实现判定两个
有理数是否相等,判定两个数是否相等的方法为判断一个数的分子与另一个数
的分母相乘的值是否与该数的分母与另一个数的分子相乘的值相等;再定义一
个可对有理数约分的函数yuefen(),在函数体中首先要找到分子与分母的最大
公约数,再将分子与分母同时除以这个最大公约数,优化函数在创建有理数对
1 / 12
评论0
最新资源