常州大学C语言课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序号: 04
学号: 11417124
C H A
N G
Z H
O U U N I V
E
R S
I T Y
课 程 设 计
设计课程名称: C 语言程序设计报告
题 目: 编 码 解 码 学 生 姓 名: 温 晓 康 学 院(系): 信息科学与工程学院 专 业 班 级: 自动化111 指 导 教 师: 周 天 彤 专业技术职务:
设计时间: 2012 年 6 月 11 日 2012 年 6 月 21 日
目录
1.任务书 (2)
2.系统的功能结构框图 (4)
3.C语言程序代码 (9)
4.运行结果 (14)
5.设计心得体会 (17)
任务书
在压缩算法中,有一种算法叫做游程压缩算法其算法是如果遇到多个连续相同的字节,就先记录该字节的连续的个数,然后再记录该字节。例如字符串AAABBCCCCCCAAA压缩结果是3A2B6C3A,结果只需要8字节就存贮了原先14字节的内容。不过这种方法有个缺点,如果单个元素较多的时候,反而会大于原先压缩前的内容。例如 AAABBCDEF结果是3A2B1C1D1E1F,大于原串长。因此设置一个特殊字节@,如果有连续出现的字符,就用一个@表示下面是压缩数据,然后接着一个连续个数,再是被压缩的字节。例如第一个例子中,被压缩成@3A@2BCDEF。第二个例子中,被压缩成@3A@2BCDEF。实现这种算法。并且考虑如何改良该算法。Windows提供了一种 compress.exe,可用来压缩大文件,可以通过VC自带的解压缩库lzexpand.dll来解压缩.本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软解开发过程独立完成一个简单的数据压缩解压系统,并能最终实现本系统的功能要求。
【系统主要功能】
本课程设计任务的目的是按照分析、设计、编码、调试和测试的软件开发过程独立完成一个简单的数据压缩解压系统,并能最终实现本系统的功能要求。
该程序主要实现以下功能:
1.字符串简单编码
2.字符串简单解码
3.字符串改进编码
4.字符串改进解码
5.解压缩由命令行compress生成的压缩文件。
【题目要求】
(1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目;
(2) 在第一,三个功能中,用户输入源文件名称和目标文件名称,你的程序打开源文件,进行编码,结果放在目标文件中,同时把结果显示再屏幕上
(3)在第二,四个功能中,用户输入源文件名称和目标文件名称,你的程序打开源文件,进行解码,结果放在目标文件中,同时把结果显示再屏幕上
(4)在功能5中,输入压缩文件名和解压以后的文件名,直接解压出结果文件。
【程序要求】
程序正确。能够严格实现任务书中描述的功能;
(1)界面友好。尽可能使界面友好、直观、易操作;
(2)风格友好。源程序应有良好的编码风格,使程序容易阅读。【输入/输出要求】
(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息;
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
系统的功能结构框图
1.main函数流程图
2.简单编码流程图
3.简单解码流程图
C语言程序代码
运行结果
1.字符串简单编码
2.字符串简单解码
3.字符串改进编码
4.字符串改进解码
5.解压由compress生成的压缩文件
6.退出程序
设计心得体会
在这次程序设计中使我感受很深.首先,让我感受到要设计出一个程序不难,但是要设计出一个完美的程序是很难的.在我的程序设计过程中,总是因为考虑不全面而多次重写程序,我从中体会到设计程序最重要的并不是写程序,而是将程序涉及到的方面考虑完全,这样写出来的程序才完美.其次,使我了解到自己的C语言知识还有很多不懂的地方,还需要在以后的学习中加深学习.最后,使我懂得了一个团对的力量的强大,当我有什么不懂的地方会向团队成员请教当团队遇到困难时我们就会在一起共同讨论出解决问题的方法.
总之,在这次设计中使我学到了很多的东西同时也认识到自己的不足.希望在以后的学习和生活中提高自己.