实际上是一个运算符重载,后面是相关运算符的符号。运算符重载重载的主要目的是,简洁易懂,原理上其实也是通过函数实现的,像a + b用add(a,b) 也行,但是看起来要就没那么直观了。使用运算符重载,更方便于使用,也更符合人们的习惯。 转置、求行列式因为只有一个参数,可以使用编写类的友元函数来编写。余子式要输入余子式的运算位置,使用成员函数来编写。 这样丰富的C++各种知识的运用。
2.5扩展功能实现:
有了矩阵最基本的运算,可以编写,输入输出功能的函数,实现其输入输出,分别编写了控制台输入输出和文件输入输出。运用了提高了系统的可用性。
流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。如果你对流的操作非常熟练,在程序中利用流的方便性,写起程序会大大提高效率的。
文件流的使用,可以令系统的使用更加灵活,可以产期保存输入和输出的数据,不至于系统关闭之后而造成数据丢失,可以说,没有哪个应用程序不使用文件操作,没有文件操作的程序是没有价值的。
2.6主函数编写:
程序的面板在main函数进行编写,利用输出提示信息引导用户操作,使得程序和用户之间实现交互。主函数对编写好的类进行应用,实现系统的各种功能。如果说类是工具,那么主函数就是产品。主函数的流程图如下:
6
开始 定义变量 输出运算菜单 输入选择值 Choose值1-7 1 2 3 4 5 6 7 加法 减法 乘法 转置 行列式 输入 余子式 输入 结束 输入 输入 输入 输入 输出 输出 输出 输出 输出 输出
7
程序面板:
8
3.具体实现
3.1程序开头包含所需要使用到的头文件:
#define MAXN 100 #include
3.2类的定义:
实现了类的定义,将类命名为matrix class matrix {
private: int m; int n;
double arr[MAXN][MAXN]; public:
matrix(); matrix(double); void scr_set(); void fil_set(); void scr_show();
friend void fil_show(); int issquare(); friend int homotype(matrix,matrix); friend int multipliable(matrix,matrix); 乘
matrix operator +(matrix other); matrix operator -(matrix other); matrix operator *(matrix other); friend matrix trans(matrix); friend double det(matrix); matrix left(int x,int y); //从0开始)的余子式; };
//构造函数
//构造函数2 //通过键盘输入; //通过文件输入 //在屏幕上输出矩阵; //在文件中输出矩阵 //判断是否为方阵; //是否同型;
//判断矩阵是否可相 //矩阵相加,对加号重载; //矩阵机减,对减号重载; //矩阵相乘,对乘号重载; //矩阵转置
//求方阵的行列式;
求元素arr[x][y](x,y 9
3.3menu_use函数
通过使用cout函数输出开始菜单程序,具体程序运行如下
3.4menu_i()函数
用户输入运算方法之后,输出提示输入方式的菜单,也是使用简单的cout进行编写,运行界面如下:
3.5menu_0()函数
用户输入矩阵之后,输出提示输出方式的菜单,运行界面如下:
3.6main函数
首先使用system(“color 03f”)更改控制台面板颜色,使得系统更加美观,然后进行菜单的输出,提示用户输入指令,并使用各类封装在矩阵中的功能函数进行运算,流程图上文内已经有。
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++课程设计_矩阵运算(2)在线全文阅读。
相关推荐: