1、 面向对象程序设计课程设计报告 院 系 物理与电子工程系 专 业 电子信息工程(本) 班 级 电子信息工程(本)121 班 姓 名 学 号 _ 指导教师单位 广 西 民 族 师 范 学院 数 计系 指导教师姓名 _ _ 完成日期完成日期 2014 年年 6 月月 27 日日 1 第一章 需求分析 1.11.1 引言引言 当我们在学线性代数的时候,都需要学习矩阵的相关内容,在 学习的时候, 当然离不开矩阵的相关计算, 例如求矩阵的加、 减、 乘、 运算,判断两个矩阵是否相等,求矩阵的行列式以及矩阵的逆等等。 要知道其结果,往往要花比较多的时间去计算,因此,设计一个能完 成这些计算的程序是很有必要
2、的。它可以帮助我们便捷、 快速地完成 计算,节约我们宝贵的时间。 1.21.2 任务概述任务概述 (A) 使用 C+设计矩阵类及相应的测试主程序。该矩阵类可进行 基本的统计计算,矩阵类的每一行为一向量,基本统计计算针对该向 量进行。矩阵生成可如 1 方式实现,也可以从磁盘文件中读入。矩阵 的行、列数有默认值,也可通过类成员函数设置更改;如从磁盘文件 读入,该磁盘文件名及其存储路径有默认值,也可通过类成员函数设 置更改;矩阵类有加、减、乘、判断相等的运算成员函数;基本统计 计算包括求均值、协方差;基本统计计算结果在该类对象退出作用域 时可自动存入磁盘文件,该磁盘文件名及其存储路径有默认值, 也可
3、 通过类成员函数设置更改。 (B) 在按上述要求实现的C+类中添加可求协方差矩阵对应的行列式 值和求矩阵(方阵)逆的类成员,更改测试主程序对此加以验证 2 要求:要求: (1) 提交类声明头文件、 类实现文件和测试程序文件 3 个源代码 文件; (2)2014 年 6 月 27 日前完成并提交。 1.31.3 数据描述数据描述 该程序包含一下信息: 1) 、声明一个矩阵类 2) 、有矩阵的输入、输出功能 3) 、有完成矩阵计算个功能函数 1.41.4 功能需求功能需求 根据要求设计一个矩阵类及相应的测试主程序, 该矩阵类可进行 基本的统计计算,矩阵类有加、减、乘、判断相等的运算成员函数, 可求
4、协方差矩阵对应的行列式值和求矩阵(方阵)逆的类成员。 1.51.5 运行需求运行需求 应用 VisualC+,VisualC+6.0 不仅仅是一个 C+编译器,而且 是一个基于 Windows 操作系统的是集成开发环境, 这种环境开发出来 的软件稳定性好、可移植性强,可以编制各种的 Windows 应用程序。 3 第二章 概要设计 2.1 2.1 矩阵类(矩阵类(MatrixMatrix)设计)设计 根据题目要求,设计矩阵类及相应的测试主程序:矩阵类可进行 基本的统计计算 详细程序代码如下: class Matrix public: Matrix(); /无参构造函数 friend void
5、In(Matrix /设置为友元的输入函数 friend void Out(Matrix /设置为友元的输出函数 Matrix operator +(Matrix /加法重载函数 Matrix operator -(Matrix /减法重载函数 Matrix operator *(Matrix /乘法重载函数 friend Matrix Adjunct(Matrix /设置成友元的求代数余子式 friend double Det(Matrix /设置成友元的递归求行列式 friend Matrix Inv(Matrix /设置成友元的求矩阵的逆 private: int m,n; /矩阵的行数和列数 Datatype *p; /矩阵的基址 ; 2.2 2.2 输入、输出显示矩阵模块设计输入、输出显示矩阵模块设计 主要功能是检验从键盘输入矩阵的保存及输出显示该矩阵。 再对 系统进行加、减、乘等一系列操作。 程序代码如下: 4 void In(Matrix int i,j; a.p=new Datatypea.m*a.n; Datatype *q; cout*q; void Out(Matrix Datatype *p=b.p; double *q; for(i=0;i*q; void Out(Matrix Datatype *p=b.p; double *q; for(