C语言课程设计的报告矩阵的运算.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
序号: 学号:------------ 课 程 设 计 C ********** ********* ********* ******* **** * ** **** * ** 目录 1. 3 2. 7 C8 15 5. 16 矩阵运算 任务书 一、目的要求 的软件开发过程独立完成一个矩阵运算子程序集, 并能最终实现本系统的功 能要求。 二、功能要求 【题目描述】 矩阵运算是大多数科学运算的必要工具。假定所有矩阵均以文本文件形 式保存,试编写程序,处理简单的矩阵运算。 矩阵文件每一行以文本保存矩阵中一行数据每个数据之间以一个或者多 个空格隔开。目前矩阵仅保存整数值。下面是一个矩阵文件例子: 文件名 : matrix1.txt 1 1 2 3 -4 3 1 -1 4 5 2 0 0 5 6 5 6 7 8 9 10 11 12 14 13 你的程序需要实现以下功能: 1. 矩阵加法。 2. 矩阵转置 3. 矩阵乘法 【程序要求】 1) 程序正确。能够严格实现任务书中描述的功能; 2) 界面友好。尽可能使界面友好、直观、易操作; 3) 风格友好。源程序应有良好的编码风格,使程序容易阅读。 4) 从文件中读矩阵,将矩阵写入文件,矩阵 3 个操作均需要以子程序形式编写。 【输入 / 输出要求】 (1)每项功能在选择后,应提示用户输入源矩阵所在文件名,并检验该文件是否存在,但是并不读取该文件内容。然后再提示用户输入结果矩阵文件名。通过子程序读取矩阵数据,将运算结果同时输出到文件和屏幕上。 (2)所有源矩阵均可使用记事本生成。 (3)若 main 函数带有参数 repeat 则所有读取矩阵和运算函数操作均需重复 10000 次。 【课程设计报告内容要求】 1) 封面:统一采用《常州大学课程设计说明书》封面 2) 内容提要 3) 目录 4) “课程设计报告”正文格式 1) 概述所作系统的主要功能; 2) 分析和描述任务书的基本要求与内容; 3) 描述及绘制出系统的功能结构框图; 4) C语言程序代码; 5) 使用说明; 6) 设计日志以及心得体会 三、难点提示 1、输入矩阵没有限定大小,不能采用静态数组来实现,需要使用动态数组 技术。 2、main 函数参数的检测和使用参见教材相应内容。 3、菜单部分样例代码可参阅网络课堂里相关帮助——顶层菜单设计框架。 概述系统的主要功能 假定矩阵文件每一行以文本形式保存, 矩阵中的一行数据中每个数据 之间以一个或多个空格隔开 , 目前矩阵仅保存整数值。本程序通过文件操作 及动态内存分配技术实现简单的矩阵运算,包括矩阵加法(  Plus  ),矩阵转 置(Transpose)  ,矩阵乘法  (Multiply)  。 运行程序时,首先提示用户选择相应功能选项,每项功能在选择后, 提示用户输入源矩阵所在文件名,程序检验该文件是否存在,但不读取该文 件内容。然后再提示用户输入结果矩阵所在文件名,通过子程序读取矩阵数 据,将运算结果同时输到文件和屏幕上。 描述及绘制出系统的功能结构框图 首先选择相应的功能,打开文件,读取数据,进行各项功能的操作, 输出结果,关闭文件,再次选择相应的功能。 加法  功能选择 转置  相乘  退 出 打开所要执行的文件 输出数据 关闭相应文件 语言程序代码 #include stdio.h #include stdlib.h }#include conio.h void Plus()l=l/r+1; { printf(r=%d,l=%d\n,r,l); void Transpose() { rewind(fp2);FILE*fp1,*fp2,*fp3; for(i=0;iC;i++) if(l==Cr==R)printf(请输入两个源矩阵所在文件名 :\n); FILE *fp1,*fp2; { {char filename1[15],filename2[15],filename3[15]; printf( 请输入一个源矩阵所在文件名 :\n); for(j=0;jR;j++) p=(int*)calloc(R,C*sizeof(int));scanf(%s%s,filename1,filename2); char filename1[15],filename2[15]; { if((fp1=fopen(filename1,r))==NULL||(fp2=fopen(filename2,r))==NULL)for(i=0;iR;i++) scanf(%s,filename1); if(j==R-1) { if((fp1=fopen(filename1,r))==NULL) { { for(j=0;jC;j++)printf

您可能关注的文档

文档评论(0)

183****6506 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档