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