C语言课程设计报告-矩阵的运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序号:
学号:------------课程设计
设计课程名称:C语言课程设计
题目:矩阵的运算
学生姓名:**********
学院(系):********* 专业班级:********* 指导教师:******* 专业技术职务:设计时间:**** 年* 月** 日 ****年* 月**日
目录
1.矩阵运算任务书 (3)
2.描述及绘制出系统的功能结构框图 (7)
3.C语言程序代码 (8)
4.使用说明 (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)。
运行程序时,首先提示用户选择相应功能选项,每项功能在选择后,提示用户输入源矩阵所在文件名,程序检验该文件是否存在,但不读取该文件内容。然后再提示用户输入结果矩阵所在文件名,通过子程序读取矩阵数据,将运算结果同时输到文件和屏幕上。
描述及绘制出系统的功能结构框图
首先选择相应的功能,打开文件,读取数据,进行各项功能的操作,
输出结果,关闭文件,再次选择相应的功能。
C语言程序代码
使用说明
1. 在相应的文件中输入数据。
注意:矩阵每行数据中的各个数据间以空格隔开,一行数据输
入完成按回车键,切记最后一行数据输入完成后要按回车键。
2.运行程序,选择所要执行的功能。输入对应序号,包括(1.加
法 2.转置 3.相乘)
3. 输入源矩阵及结果矩阵所在文件名。运算结果在屏幕和文件均
有显示。
4.运算完成后提示用户选择所要执行功能,回到第二步。
5.在使用前,请用户仔细阅读使用说明,以免发生错误。
设计日志及心得体会
一接到课程设计任务书,心中有些激动,充满兴趣,但随着设计的进展,调试程序总是出现问题,一些要求达不到,一时难以接受,
稍有畏难情绪。随着不断向他人请教交流,问题被分成许多小部分,各个击破,完成任务的信心更加强烈,终于在今天完成了任务,虽然程序设计得不是太完美,可能还有不足,但这毕竟是我们合作共同完成的,还是值得高兴的。
经反思,我觉得,从这次课程设计中得到的不仅仅是成功完成了什么,更重要的是我认识到开发一个软件的难度,不仅工作量大,而且极其容易犯错,经常在不经意间犯小错,别看他小,有时很难查找出来。其次我觉得自己对一些函数运用还不太自如,所以我想我们既要注重理论学习,更要重视实践,正如俗话说:实践是检验真理的唯一标准。主动上机,多多实践,提高动手才能,实习时不能着急。通过上机实践来验证所学的理论,通过在机器上查找错误来巩固概念,通过提高上机才能来促进理论学习,开阔编程思路,提高反映效率,提高分析问题解决问题的才能,锻炼心理素质,提高心理承受才能,只有通过大量的实践才能培养编程的感觉。平时学习中学好句子的语法规定的同时,还不能忽略了对编程的思路和技巧的训练。只有这样才能掌握编程方法。平时还要学会自学,加强交流,及时答疑解惑。能够采用多种形式进行交流,能够是传统的面面进行答疑,也能够是利用网络通过邮件、BBS进行网上交流。不要将问题积累到最后。接下来还有就是,一定要会使用,经常使用注释,来帮组自己
和他人读懂程序。
最后让我颇有感触的就是我们要有自主意识,要学会独立思考,增强自己的独立性,不要依赖任何人,这也正是这次课程设计的目的