编码解码 课程设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计设计课程名称:C语言课程设计

题目:编码解码

目录1、编码解码任务书

2、课程设计正文

(1)任务主要功能概述

(2)任务书基本要求分析和内容描述(3)系统的功能结构框图

(4)C语言程序代码

(5)系统使用说明书

3、课程设计日志及心得体会

编码解码任务书

一、目的要求

本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成一个简单的数据压缩解压系统,并能最终实现本系统的功能要求。

二、功能要求

【题目描述】

在压缩算法中,有一种算法叫做游程压缩算法,其算法是如果遇到多个连续相同的字节,就先记录该字节的连续的个数,然后再记录该字节。例如字符串AAABBCCCCCCAAA压缩结果是3A2B6C3A,结果只需要8字节就存贮了原先14字节的内容。不过这种方法有个缺点,如果单个元素较多的时候,反而会大于原先压缩前的内容。例如AAABBCDEF结果是3A2B1C1D1E1F,大于原串长。因此设置一个特殊字节@,如果有连续出现的字符,就用一个@表示下面是压缩数据,然后接着一个连续个数,再是被压缩的字节。例如第一个例子中,被压缩成@3A@2B@6C@3A第二个例子,被压缩成@3A@2BCDEF。实现这种算法。并且考虑如何改良该算法。Windows提供一个压缩工具compress.exe,可用来压缩大文件,可以通过VC自带的解压缩库lzexpand.dll来解压缩。

你的程序需要实现以下功能:

1.字符串简单编码

2.字符串简单解码

3.字符串改进编码

4.字符串改进解码

5.解压缩由命令行compress生成的压缩文件。

【题目要求】

(1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目;

(2) 在第一,三个功能中,用户输入源文件名称和目标文件名称,你的程序打开源文件,进行编码,结果放在目标文件中,同时把结果显示再屏幕上

(3)在第二,四个功能中,用户输入源文件名称和目标文件名称,你的程序打开源文件,进行解码,结果放在目标文件中,同时把结果显示再屏幕上

(4)在功能5中,输入压缩文件名和解压以后的文件名,直接解压出结果文件。

【输入/输出要求】

(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息;(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

课程设计正文

一、编码解码任务书主要功能概述

编码解码任务书系统主要实现以下功能:

1、字符串简单编码。

2、字符串简单解码。

3、字符串改进编码。

4、字符串改进解码。

5、解压缩由命令行compress生成的压缩文件。

6、退出。

【补充】执行一个功能后,按enter键可以继续选择功能键,执行下一个任务。在未退出的条件下,系统可以连续多次执行上述的5个功能。

二、任务书基本要求分析和内容描述

【要求分析】

(1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目;

(2) 在第一,三个功能中,用户输入源文件名称和目标文件名称,你的程序打开源文件,进行编码,结果放在目标文件中,同时把结果显示再屏幕上

(3)在第二,四个功能中,用户输入源文件名称和目标文件名称,你的程序打开源文件,进行解码,结果放在目标文件中,同时把结果显示再屏幕上

(4)在功能5中,输入压缩文件名和解压以后的文件名,直接解压出结果文件。

【程序要求】

(1)程序正确。能够严格实现任务书中描述的功能;

(2)界面友好。尽可能使界面友好、直观、易操作;

(3)风格友好。源程序应有良好的编码风格,使程序容易阅读。【输入/输出要求】

(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息;(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

三、系统的功能结构框图

四、C语言程序代码

五、系统使用说明书

(1)“编码解码”任务书明书有一个菜单。应用程序运行后,会显示这个菜单,然后用户通过菜单项的相应键选择希望进行的操作项目。

(2) 在第一,三个功能中,用户选择功能键1或功能键3后,按提示输入源文件名称和目标文件名称,程序将打开源文件,进行编码,结果放在目标文件中,同时把结果显示再屏幕上。

(3)在第二,四个功能中,用户选择功能键2或功能键4后,按提示输入源文件名称和目标文件名称,程序将打开源文件,进行解码,结果放在目标文件中,同时把结果显示再屏幕上。

(4)在功能5中,用户选择功能键5后,输入压缩文件名和解压以后的文件名,直接解压出结果文件。

(5)一个功能任务执行后,按enter键可以继续选择,多次执行各项功能。通过菜单项选择功能键6则直接退出。

六、设计日志及心得体会

第一天阅读题目,和同学交流了,自己理解,确定思路,编写了菜单。

第二天分块编写了字符串简单编码和简单解码。

第三天分块编写了字符串改进编码和改进解码。

第四天查询compress原理编码的资料,结合网络课堂的帮助,完成了jy函数编写。

第五天将输入源文件和目标文件的函数独立出来。

第六天对程序进行了部分修改。完成了《课程设计说明书》。

经过艰苦奋斗,课程设计终于完成了。回想其中的过程,既有快乐又有烦恼。

刚开始上课时,还在迷茫这门课程,想着《C 语言程序设计》到底事学什么的,有什么用。不过,这些感受都是在对这门课程不了解的情况下产生的。后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。尤其是学到上机操作程序时,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。通过一个学期的学习,我掌握了基本知识。

下学期的时候,才知道C语言还有课程设计。当时有点心怯,感觉课程设计是很高深的东西,而我们学的东西很少,很零散,不知该怎么综合到一起。刚看到课程设计题目时,“编码解码”任务书,感觉应该是很难完成的题目。经过认真的阅读和理解题目,逐渐有了大概的思路。和同一组的同学相互交流各自对题目的理解后,对任务书的编写思路更清晰了。把大题目分为一个个小的功能,小函数编写后,感觉就简单多了。我把整个程序的思路理清后,就开始着手认真的分

相关文档
最新文档