欢迎来到天天文库
浏览记录
ID:48616231
大小:119.50 KB
页数:25页
时间:2020-01-29
《C++矩阵简单的计算器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.word可编辑.C++课程设计---矩阵简单的计算器一、设计目的1、熟练掌握和运用c++编写程序代码的能力。2、初步了解输入、建立并输出矩阵以及矩阵加法、减法、乘法、赋值和转置的算法设计。3、掌握基本的运算符重载函数的书写。4、掌握静态数据成员和静态成员函数的具体声明和实现,体会它们的特殊作用。5、掌握并体会动态内存分配的实际应用。6、运用简单的循环实现简单的菜单程序。二、总体设计(1)UML图Matrix+Matrix(intl:int,w:int,n:int*)+Matrix()+Matrix(jz:Matrix
2、&)+setnum(l:int,w:int):void+operator+(constjz:Matrix&):Matrix+operator-(constjz:Matrix&):Matrix+operator*(constjz:Matrix&):Matrix+zhuanzhi():Matrix+show():void+~Matrix()<>+getflag():intvoidgetmn(int&m,int&n)-num:int*-length:int-width:int-flag:int=0.专业.专注
3、..word可编辑.(2)流程图真真真真真真假假假假假假A+运算flag输出breakMflag-运算输出breakSflag*运算输出breakFflag=运算输出breakTflag转置输出break开始定义switchQ?退出.专业.专注..word可编辑..专业.专注..word可编辑.三、详细设计(1)类中的函数功能及实现1、有参数的构造函数Matrix(intl,intw,int*n);实现:Matrix::Matrix(intl,intw,int*n){length=l;width=w;num=newin
4、t[length*width];int*p=num;for(inti=0;i5、ength=jz.length;width=jz.width;num=newint[length*width];for(inti=0;i6、7、w==0){cout<<"矩阵行列8、不能为0"<9、n>>*(p+i*width+j);}}}}说明:矩阵输入函数主要读进去需要进行计算的原始矩阵,要注意的是矩阵的行列数不能为1,所以应该用选择语句排除一行一列的矩阵出现。首先用动态内存分配,给要录入的矩阵开辟需要录入的空间length*width。然后运用循环语句,将矩阵的每个元素录入。1、加运算符重载函数MatrixMatrix::operator+(constMatrix&jz)实现:MatrixMatrix::operator+(constMatrix&jz){if(length==jz.length&&widt10、h==jz.width){flag=1;int*n=newint[length*width];for(inti=0;i
5、ength=jz.length;width=jz.width;num=newint[length*width];for(inti=0;i6、7、w==0){cout<<"矩阵行列8、不能为0"<9、n>>*(p+i*width+j);}}}}说明:矩阵输入函数主要读进去需要进行计算的原始矩阵,要注意的是矩阵的行列数不能为1,所以应该用选择语句排除一行一列的矩阵出现。首先用动态内存分配,给要录入的矩阵开辟需要录入的空间length*width。然后运用循环语句,将矩阵的每个元素录入。1、加运算符重载函数MatrixMatrix::operator+(constMatrix&jz)实现:MatrixMatrix::operator+(constMatrix&jz){if(length==jz.length&&widt10、h==jz.width){flag=1;int*n=newint[length*width];for(inti=0;i
6、
7、w==0){cout<<"矩阵行列
8、不能为0"<9、n>>*(p+i*width+j);}}}}说明:矩阵输入函数主要读进去需要进行计算的原始矩阵,要注意的是矩阵的行列数不能为1,所以应该用选择语句排除一行一列的矩阵出现。首先用动态内存分配,给要录入的矩阵开辟需要录入的空间length*width。然后运用循环语句,将矩阵的每个元素录入。1、加运算符重载函数MatrixMatrix::operator+(constMatrix&jz)实现:MatrixMatrix::operator+(constMatrix&jz){if(length==jz.length&&widt10、h==jz.width){flag=1;int*n=newint[length*width];for(inti=0;i
9、n>>*(p+i*width+j);}}}}说明:矩阵输入函数主要读进去需要进行计算的原始矩阵,要注意的是矩阵的行列数不能为1,所以应该用选择语句排除一行一列的矩阵出现。首先用动态内存分配,给要录入的矩阵开辟需要录入的空间length*width。然后运用循环语句,将矩阵的每个元素录入。1、加运算符重载函数MatrixMatrix::operator+(constMatrix&jz)实现:MatrixMatrix::operator+(constMatrix&jz){if(length==jz.length&&widt
10、h==jz.width){flag=1;int*n=newint[length*width];for(inti=0;i
此文档下载收益归作者所有