文档介绍:课程设计学号班级姓名指导教师 2008 年 09月 12日课程设计任务书一、课程设计题目:矩阵运算二、课程设计工作自 2008 年9月8 日起至 2008 年9月 12日止三、课程设计内容: 运用所学的 C 语言知识,编制和调试程序,具有如下功能: (1) 两个矩阵加、减、乘等运算(2) 对某一矩阵增加一行或一列(3) 对某一矩阵减少一行或一列(4) 自己再增加一项或两项功能四、课程设计要求: 程序质量: ?贯彻结构化程序设计思想。?用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。?用户界面中的菜单至少应包括“输入数据”、“算术运算”、“增行”、“减行”、“退出”5 项。?代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程设计说明书(打印稿和电子稿) ,其内容如下: ?封面?课程设计任务书?目录?需求分析(分析题目的要求) ?程序流程图(总体流程图和主要功能模块流程图) ?核心技术的实现说明及相应程序段?个人总结?参考资料?源程序及适当的注释指导教师: ____________________ 学生签名: ____________________ 成绩: 教师评语: 目录一、需求分析............................................................. 1 二、程序流程图......................................................... 2 三、核心技术的实现说明及相应程序段................ 8 四、个人总结............................................................ 18 五、参考资料............................................................ 19 六、源程序................................................................ 19 一、需求分析经过对程序设计题目的分析可知, 整个程序的设计实现大致分为六个模块,其中每一个模块对应一个函数,他们的功能分别是: 加运算函数(jia) ,减运算函数(jian) ,乘运算函数(cheng) ,增行函数(jiahang) ,减列函数(jianlie) 以及求最大值函数(fun) 。在这些函数当中, 前五个函数的实现严格按照题目的要求, 而最后一个函数为自行设计的函数。 1 、增加运算函数主要实现将两矩阵相加的功能; 2 、减运算函数实现的功能是将两矩阵相减; 3 、乘运算函数主要实现将两矩阵相乘的功能; 4 、增行函数实现的是在所选的矩阵中增加一行的功能; 5 、减列函数实现的是在所选的矩阵中减掉一列的功能; 6 、求取最大值函数实现的功能是找到并输出所给矩阵最大值。程序的一次运行当中可以循环执行所有的功能, 并根据需要终止程序的执行。在这个程序中, 将各个功能以子程序模块的形式编写。这样使所编写的程序简单, 明了, 逻辑性思维表达明确, 具有很强的可读性。二、程序流程图 1. 程序总体结构图 W hile(1) f lag=11 真假加运算函数 jia f lag=2 真假减运算函数 jian f lag= 3真假乘运算函数 cheng f lag=4 真假增行运算函数 jiahang f lag=5 真假减列运算函数 jianlie f lag=6 真假求最大值函数 fun f lag=0 真假退出 exit(0) 图(一)程序总体结构图 2 、具体功能框图( 1) 加运算函数 jia int a1==b1&&a2==b2? 否是提示错误退出 i=0 i<a1? 否是 i=0 j=0 i<a1? 否是 j<a2? 是否 j=0 c[i][j]=a[i][j] +b[i][j] j++ i++ j<a2? 否是 i++ 输出 c[i][j] 图(二)加运算函数( 2) 减运算函数 jian int a1==b1&&a2==b2? 否是提示错误退出 i=0 i<a1? 否是 i=0 j=0 i<a1? 否是 j<a2? 否 j=0 c[i][j]=a[i][j] -b[i][j] j++ i++ j<a2? 否是 i++ 输出 c[i][j] 图(三)减运算函数(3 )乘运算函数 cheng Int I ,j,k a2==b1? 否是输出 sorry can ’t mul- tiply I =0 i<a1 否是 j=0 j<b2? 否是 i++ C[i][j]=0;j++ i=0 i<a1? 否是 j=0 j<b2? 否是