欢迎来到天天文库
浏览记录
ID:27825042
大小:2.10 MB
页数:49页
时间:2018-12-06
《分数计算器设计(私信我发源程序qq2795581871)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《C++面向对象课程设计》任务书题目■“分数计算器设计”1、问题描述定义一个整数类。定义一个分数类,rti整数类派生。能对分数进行各种计算和输入/输出。2、功能要求(1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。(2)输入/输出:对流提取和流插入运算符进行重载。(J)计算功能:可进行分数的加、减、乘和除法运算。(4)化简功能:将分数化简为最简分数。(«)异常处理功能:分数屮分母不能为零。3)菜单功能:每种功能的操作都是在菜单中进行相应选择。3、问题的解决方案根据系统功能要求,可以将
2、问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(5)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(8)完成类中各个成员函数的定义;(b)完成系统的应用模块;(耳)功能调试;(«)完成系统总结报告。【目录】I需求分析LI选作此课题或项目的目的L2程序所实现的功能2内容设计2.I根据所选题目给出模块图九2画出主程序及其主要模块的流程图九J编写程序关键代码>调试分析3.I实际完成的情况的说明入2程序的性
3、能分析J.J上机过程中出现的问题及其解决方案X4程序中可以改进的地方说明程序中可以扩充的功能及设计实现构想4用户手册B设计总结b参考文献一、需求分析1.选做此课题或项目的目的计算器作为现在人们日常生活中常用的一种工具已经可以说是人们日常生活中必不可少的工具了,但是计算器的发展经历了漫长的过程,凝聚无数先人的智慧,由于电脑自带的小型计算器没有分数计算的功能,所以我希望可以设计一个分数计算器为普通计算器添加功能,来满足用户的需求。本课题旨在:(1)训练基本编程能力,了解分数计算器的实现过程。(2)熟练应用
4、运算符的重载及输入输出流的重载。(3)掌握C++异常处理机制try,throw,catch的应用。(4)以C++程序设计语言为基础,进一步掌握血向过程和血向对象程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实际相结合,从而提高自我分析问题,解决问题的能力。2.程序所实现的功能本程序实现的功能如下所述:(1)定义整数类和分数类。其中,包括构造函数、析构函数等。(2)输入/输出:对流提取和流插入运算符进行重载。(3)计算功能:①分数与分数的加法运算;②分数与分数的减法运算;③分数与分数的乘法运算
5、;④分数与分数的除法运算;⑤分数与整数的加法运算;⑥分数与整数的减法运算;⑦分数与整数的乘法运算;⑧分数与整数的除法运算;⑨整数与分数的加法运算;⑩整数与分数的减法运算;他整数与分数的乘法运算;⑫整数与分数的除法运算;紗分数的指数运算;轴分数转化成小数运算;©分数的化简。(4)异常处理功能:分数中分母不能为0。(5)菜单功能:每种功能的操作都是在菜单中进行相应选择。二、内容设计1•根据所选题目,给出模块图(1)程序功能的模块图如图2」所示:退山化成小数分数转指数运算分歎的的四则运算整数与分数的四则运算
6、分数与整数的四则运算分数与分数进入主界面图2.1程序功能模块图(2)UML类图如图2.2所示:c>e>B专!itlrtlrtlrtlr呼器■・7、witch(c)ase+O(余数为0case7:NOf1=x/f1;casef1=x+f1;—►/输出f1戶fbreak;f1=x-f1;―T输出/~►break;f1=x*f1;输出f1/►break;重输f1/f们=肋〔;—”输出f1/—►break£—输出f1break;whieNO调用菜单▼[输入yn/结朿图2.6整数与分数四则运算流程图(5).分数的指数运算流程图如图2.7所示:(进入zs()函数淸屏函数创建分数类对象f1intk;charynMyFun(f1)分母指数运算分子指数运算输调用8、菜单▼结束图2.7分数的指数运算流程图(6)分数转化成小数的流程图如图2$所示:图2.8分数转化成小数的流程图(7)分数化简函数流程图如图2.9所示:图2.9分数化简函数流程图3•编写程序关键代码(1)输入输出的重载:输入输出重载是扩展其功能,可以以自己所需要的形式输入输出数据。本程序需要分数的输入输出,并且运算结果为整数,正负分数等形式时的输出。值得强调的是输入输出必须用友元函数重载。代码如下:①“>>”运算符的重载istream&operator»(
7、witch(c)ase+O(余数为0case7:NOf1=x/f1;casef1=x+f1;—►/输出f1戶fbreak;f1=x-f1;―T输出/~►break;f1=x*f1;输出f1/►break;重输f1/f们=肋〔;—”输出f1/—►break£—输出f1break;whieNO调用菜单▼[输入yn/结朿图2.6整数与分数四则运算流程图(5).分数的指数运算流程图如图2.7所示:(进入zs()函数淸屏函数创建分数类对象f1intk;charynMyFun(f1)分母指数运算分子指数运算输调用
8、菜单▼结束图2.7分数的指数运算流程图(6)分数转化成小数的流程图如图2$所示:图2.8分数转化成小数的流程图(7)分数化简函数流程图如图2.9所示:图2.9分数化简函数流程图3•编写程序关键代码(1)输入输出的重载:输入输出重载是扩展其功能,可以以自己所需要的形式输入输出数据。本程序需要分数的输入输出,并且运算结果为整数,正负分数等形式时的输出。值得强调的是输入输出必须用友元函数重载。代码如下:①“>>”运算符的重载istream&operator»(
此文档下载收益归作者所有