C++课程设计报告--复数计算器.doc
上传人:天马****23 上传时间:2024-09-12 格式:DOC 页数:54 大小:1.2MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

C++课程设计报告--复数计算器.doc

C++课程设计报告--复数计算器.doc

预览

免费试读已结束,剩余 44 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

高级程序设计实践(C++)课程设计报告题目复数计算器目录需求分析.................................第二章概要设计.................................第三章详细设计.................................第四章调试分析................................第五章测试结果................................第六章课程设计总结............................第七章参考文献................................第八章附录....................................C++程序设计之复数计算器第一章需求分析第页第一章需求分析1.1程序设计的任务1.1.1编程目的1.本次程序设计的目的运用面向对象程序设计知识,利用C++语言设计和实现一个复数计算器,要求具备如下主要功能:(1)建立实数类、复数类(2)实现实数、复数信息的初始化(3)实现实数的加、减、乘、除、自增、自减、求平方、二次方根等操作(4)实现复数的加、减、乘、除、取模、求平方、求共轭复数、求单个复数的向量角、求两个复数的夹角等运算(5)实现实数、复数信息的输出1.1.2编程要求在实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出C++语言关于类、继承、封装与多态等核心概念,每一个类应包含数据成员和成员函数。1.1.3数据范围数据输入的形式为float型,输出形式亦是float型,数据(实数、复数的实部、虚部)范围是-2^128~+2^128,也即-3.40E+38~+3.40E+38。1.2本程序能实现的功能1.2.1实数类(Complex)所实现的功能:实数的加法运算、减法运算、乘法运算、除法运算、前置自增运算、后置自增运算、前置自减运算、后置自减运算、求平方运算、求平方根运算;1.2.2复数类(Complex1)所实现的功能:复数的加法运算、减法运算、乘法运算、除法运算、模长运算、求平方运算、共轭复数运算、求单个复数的向量角运算、求两个复数的夹角运算。1.2.3主函数所能实现的功能1.提供给操作者操作数据的类型(实数还是复数)的标识;2.操作者选择数据类型后,提供运算类型操作的标识;3.运用指针调用两个类的各成员函数分别完成各项计;C++程序设计之复数计算器第二章概要设计第二章概要设计2.1构成部分2.1.1系统由三部分构成:实数类(Complex)、复数类(Complex1)、主函数main。2.1.2.构成部分关系复数类(Complex1)由实数类(Complex)派生而来,其中两者成员函数中的enter(输入数据)函数是虚函数,用以实现多态性。主函数main通过指针调用实数类(Complex)、复数类(Complex1)分别完成实数运算、复数运算。2.1.3.类层次实数类是父类,复数类是子类。2.2主程序流程以及程序模块之间的调用关系如图2.2—1所示:输入flag判断flag判断wflag=1flag=2实数运算复数运算判断vw=3w=4w=5w=6……w=12v=3v=4v=5v=6……v=11乘法运算减法运算加法运算求复数间夹角除法运算乘法运算减法运算加法运算求平方运算除法运算图2.2--1主程序流程以及程序模块之间的调用关系图注:图2.2--1中没有画出flag=0时退出系统;flag不等于0,1,2时出现错误提示语句的选择结构;w,v在选择范围之外时出现错误提示语句的选择结构。特殊处理:除法运算分母为0;求二次方根数为负数;求单个复数夹角时判断象限的过程。C++程序设计之复数计算器第三章详细设计第三章详细设计3.1类层次中各个类的描述3.1.1.实数类(Complex)私有部分仅数据:float型数据real;公共部分包括12个成员函数,分别是:类的构造函数:Complex()实数加法运算函数:Complexoperator+(Complex&c1)实数减法运算函数:Complexoperator-(Complex&c1)实数乘法运算函数:Complexoperator*(Complex&c1)实数除法运算函数:Complexoperator/(Complex&c1)实数前置自增函数:Complexoperator++()实数后置自增函数:Complexoperator++(int)实数