资源描述:
《C语言课程设计报告材料-矩阵地运算》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、序号:学号:------------课程设计设计课程名称:C语言课程设计题目:矩阵的运算学生姓名:**********学院(系):*********专业班级:*********指导教师:*******专业技术职务:设计时间:****年*月**日~****年*月**日目录241.矩阵运算任务书……………………………………………32.描述及绘制出系统的功能结构框图………………………73.C语言程序代码……………………………………………84.使用说明……………………………………………………155.设计日志及心得体会………………………………………16"矩阵运算"任务书24一、目的要求本课程设计任务的
2、目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个矩阵运算子程序集,并能最终实现本系统的功能要求。二、功能要求【题目描述】矩阵运算是大多数科学运算的必要工具。假定所有矩阵均以文本文件形式保存,试编写程序,处理简单的矩阵运算。矩阵文件每一行以文本保存矩阵中一行数据每个数据之间以一个或者多个空格隔开。目前矩阵仅保存整数值。下面是一个矩阵文件例子:文件名:matrix1.txt1123-431-14520056567891011121413你的程序需要实现以下功能:1.矩阵加法。2.矩阵转置3.矩阵乘法【程序要求】24(1)程序正确。能够严格实现任务书中描述的功能;(2)界面
3、友好。尽可能使界面友好、直观、易操作;(3)风格友好。源程序应有良好的编码风格,使程序容易阅读。(4)从文件中读矩阵,将矩阵写入文件,矩阵3个操作均需要以子程序形式编写。【输入/输出要求】(1)每项功能在选择后,应提示用户输入源矩阵所在文件名,并检验该文件是否存在,但是并不读取该文件内容。然后再提示用户输入结果矩阵文件名。通过子程序读取矩阵数据,将运算结果同时输出到文件和屏幕上。(2)所有源矩阵均可使用记事本生成。(3)若main函数带有参数repeat则所有读取矩阵和运算函数操作均需重复10000次。【课程设计报告内容要求】(1)封面:统一采用《常州大学课程设计说明书》封面(2)内容提要(
4、3)目录(4)“课程设计报告”正文格式1)概述所作系统的主要功能;2)分析和描述任务书的基本要求与内容;3)描述及绘制出系统的功能结构框图;4)C语言程序代码;245)使用说明;6)设计日志以及心得体会三、难点提示1、输入矩阵没有限定大小,不能采用静态数组来实现,需要使用动态数组技术。2、main函数参数的检测和使用参见教材相应内容。3、菜单部分样例代码可参阅网络课堂里相关帮助——顶层菜单设计框架。概述系统的主要功能24假定矩阵文件每一行以文本形式保存,矩阵中的一行数据中每个数据之间以一个或多个空格隔开,目前矩阵仅保存整数值。本程序通过文件操作及动态内存分配技术实现简单的矩阵运算,包括矩阵加
5、法(Plus),矩阵转置(Transpose),矩阵乘法(Multiply)。运行程序时,首先提示用户选择相应功能选项,每项功能在选择后,提示用户输入源矩阵所在文件名,程序检验该文件是否存在,但不读取该文件内容。然后再提示用户输入结果矩阵所在文件名,通过子程序读取矩阵数据,将运算结果同时输到文件和屏幕上。24描述及绘制出系统的功能结构框图首先选择相应的功能,打开文件,读取数据,进行各项功能的操作,输出结果,关闭文件,再次选择相应的功能。功能选择加法转置相乘打开所要执行的文件输出数据关闭相应文件退出C语言程序代码24#include#include#inc
6、ludevoidPlus(){FILE*fp1,*fp2,*fp3;printf("请输入两个源矩阵所在文件名:");charfilename1[15],filename2[15],filename3[15];scanf("%s%s",filename1,filename2);if((fp1=fopen(filename1,"r"))==NULL
7、
8、(fp2=fopen(filename2,"r"))==NULL){printf("can'topenfile");exit(0);}printf("请输入结果矩阵所在文件名:");scanf("%s",filename
9、3);fp3=fopen(filename3,"w");int*p,C=0,R=0,l=0,r=0,i,j,jk1,jk2,jk3;printf("");charch;ch=fgetc(fp1);while(!feof(fp1)){ch=fgetc(fp1);if(ch=='')C++;if(ch=='')R++;}C=C/R+1;printf("R=%d,C=%d",R,C);rewind(fp