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