欢迎来到天天文库
浏览记录
ID:39567897
大小:401.45 KB
页数:25页
时间:2019-07-06
《复数计算器 实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、复数计算器中南大学高级程序设计实践(C++)课程设计报告题目复数计算器学生姓名指导教师陈丽萍学院信息科学与工程学院专业班级通信工程1301班完成时间2014年7月5日25复数计算器第一章需求分析与程序设计1.1需求分析1.1.1程序设计的目的与任务1.复习和巩固C++语言的基础知识,进一步加深对C++语言的理解和掌握。2.为学生提供独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生独立分析问题、解决问题、查阅资料以及自学能力。3.学习和掌握C++程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基础。4.在程序实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C
2、++语言关于类、继承、封装与多态等核心概念,每一个类应包含数据成员和成员函数,以实现预期的功能,解决实际问题。1.1.2“复数计算器”程序所能实现的功能1.建立实数类、复数类,复数类由实数类公有继承而来。2.实现实数、复数信息的初始化。3.通过选择结构和调用相关函数实现实数的相关运算,包括:两个实数间的加、减、乘、除和一个实数的自增、自减、求平方、二次方根等运算。4.通过选择结构和调用相关函数实现复数的相关运算,包括:两个复数间的加、减、乘、除、求两个复数的夹角和一个复数的取模、求平方、求共轭复数、求单个复数的向量角等运算。5.通过调用相关函数实现实数、复数信息的输出,显示在显示屏上。6.通
3、过多次运用选择和循环结构实现对实数、复数运算的选择,在选择了实数或复数运算的前提下,再实现对各种运算的选择,运算结束后还可以选择继续实现其它运算或退出程序。1.2程序设计1.2.1概要设计1.系统中的各个实体及它们之间的关系系统中的实体是实数类对象和复数类对象,它们的关系是复数类对象所属的类是由实数类对象所属的类公有派生而来的。2.系统的类层次程序中建立了两个类,分别是实数类、复数类,复数类是由实数类公有派生而来的。3.主程序的流程以及各程序模块之间的层次(调用)关系25复数计算器首先从键盘输入数字1或2或0,输入不同数字则进入不同的并列的小程序模块。若输入1,则进行实数相关运算,再输入1-
4、8选择具体运算,此时会调用实数类中的相关成员函数,运算出正确结果,运算结束后,则会进入循环结构,进行下一次选择及运算。若输入2,则进行复数相关运算,再输入1-9选择具体运算,此时会调用复数类中的相关成员函数,运算出正确结果,运算结束后,则会进入循环结构,进行下一次选择及运算。若输入0,则将退出复数计算器系统。1.2.2详细设计1.类层次中各个类的描述实数类数据成员(都属于保护数据成员):doublereal成员函数(都属于公有成员函数):构造函数:Simple()Simple(doubler)相加函数:doublejia(Simple&s2)相减函数:doublejian(Simple&s2
5、)相乘函数:doublecheng(Simple&s2)相除函数:doublechu(Simple&s2)自加函数:doublezijia()自减函数:doublezijian()平方函数:doublepingfang()二次方根函数:doublekaifang()输入函数:voidinput()输出函数:doubleoutput()复数类数据成员(都属于私有数据成员):doubleimag成员函数(都属于公有成员函数):构造函数:Complex()Complex(doubler,doublei)重载“+”函数:Complexoperator+(Complex&c2)重载“-”函数:Comp
6、lexoperator-(Complex&c2)重载“/”函数:Complexoperator*(Complex&c2)重载“*”函数:Complexoperator/(Complex&c2)输入函数:voidsetnumber()取模函数:doublequmo()平方函数:Complexpf()取共轭复数函数:Complexgonge()求向量角函数:doublexiangliangjiao()求夹角函数:doublejiajiao(Complex&c2)25复数计算器重载“<<”函数:friendostream&operator<<(ostream&output,Complex&c)2.
7、类中各个成员函数的定义实数类中成员函数定义:Simple(){doublereal=0.0;}//构造函数Simple(doubler){real=r;}//构造函数doublejia(Simple&s2)//两个实数相加函数{doublea;a=real+s2.real;returna;}doublejian(Simple&s2)//两个实数相减函数{doublea;a=real-s2.real;retur
此文档下载收益归作者所有