计算机程序综合实验报告

计算机程序综合实验报告

ID:39504604

大小:473.50 KB

页数:13页

时间:2019-07-04

计算机程序综合实验报告_第1页
计算机程序综合实验报告_第2页
计算机程序综合实验报告_第3页
计算机程序综合实验报告_第4页
计算机程序综合实验报告_第5页
资源描述:

《计算机程序综合实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机程序设计综合实验姓名:学号:班级:撰写时间:2015/7/8计算机程序综合设计实验一、A部分11、需求分析12、设计1(1)技术路线1①压缩1②解压缩1(2)流程图与结构图13、测试2二、B部分61、需求分析62、设计6(1)技术路线6(2)流程图与结构图73、测试7A部分一.需求分析(描述程序要完成的功能,要求清晰,完整,无二义性)•编写压缩程序,为一个文本文件进行Huffman编码,对其进行压缩,将压缩后的结果存储为文件•编写解压程序,将你压缩后的文件解压缩还原为原始文件•程序要能够处理较大的文本文件,例如提供的”kjv.txt”二.设计1.技术路线(打算通过什么手段来

2、完成这些功能)(1)压缩:①打开待压缩文件。②统计文章中出现的各字符及其权值,并赋值给header[i]数组。③根据权值大小对字符数组进行排序(此处采用从大到小的排序方法)。④找出最小权和次小权,并以此构件哈夫曼树,对每个字符进行哈夫曼编码(将所有的结点放到一个队列中,用一个结点替换两个频率最低的结点,新结点的频率就是这两个结点的频率之和。新结点就是两个被替换结点的父结点了,如此循环)。⑤重新读取文件将对哈夫曼的编码输出到输出文件。⑥记录输出的每个字符对应的编码(解压时要用到)。(2)解压缩:①打开待解压缩的文件。②读取文档(一个一个字符的读取)并读出编码信息。③将header数

3、组按照编码长度从小到大进行排列。④据此对文件部分进行解压缩。2.流程图与结构图(结构图反映系统是如何进行模块划分的)(1)程序设计流程图:开始输入1输入数输入2字进入解压缩函数进入压缩函数输入待压缩文件输入解压缩文件11正确读取文件?正确读取文件?YNNY输入解压缩后的文件名文件读取失败文件读取失败输入压缩后的文件名Y解压缩成功?压缩成功?解压缩文件成功文件解压缩失败压缩文件成功文件压缩失败计算解压缩文件与原文件是否相同计算压缩比图1.流程图(2)结构图:开始主函数12compressuncompress图2.结构图三.测试(采用了哪些测试样例,这些样例是怎么设计出来的,调试过程

4、中都遇见了什么问题,是如何解决的)(1)对kjv.txt文件进行压缩运行结果:11图3.压缩前原文件部分内容图4.程序压缩文件成功界面11图5.压缩成功后压缩文档的部分内容(1)对kjv.txt文件的压缩文件运行解压缩操作结果:图6.程序解压缩文件成功界面11图7.对文件解压缩后解压缩文件的部分内容(1)对文档进行压缩和解压缩后文档中出现的相应文件:图8.文件夹中多出的文档(2)出现问题:文件压缩成功后再对其解压缩,一直不能成功。解决办法:通过在网上搜索资料并且询问同学,在哈夫曼压缩函数尾部添加了记录哈夫曼编码的代码,为后面的解压缩函数提供基础。问题得到解决。(3)设计测试样例由

5、于本程序压缩的文件都是纯字符文件,所以在选择文件时,我们选择纯英文或者纯汉语文件。选取文件大小不同的英文和汉语文件,经测试,英文文件和汉语文件都能进行压缩,大容量文件和小容量文件也能进行压缩,压缩发现纯英文文件的压缩率较大。在文件解压时,将两个压缩后的文件进行解压,发现解压后的文件与原文件相同,故解压缩功能实现。11B部分一、需求分析编写一个计算器,能够完成四则算数混合运算,模仿winows自带的计算器的科学型便可(不带括号,但可以判断计算优先级).拓展要求能够完成算术表达式的求解(带括号的).1、利用MFC的向导,创建基于对话框的应用程序,添加按钮、编辑框等控件。2、实现算术加

6、、减、乘、除等运算。3、增加部分科学计算:三角函数的运算、对数运算、指数运算、进制转换等。二.设计1.技术路线(打算通过什么手段来完成这些功能)1.用各种控件编辑好计算器的编辑框和按钮,然后给控件连接变量,建立类向导。2.向三个类CAboutDlgCCalculatorAppCCalculatorDlg中添加代码。3.设置编辑框的属性,为编辑框连接一个double类型的Value值变量m_result,用于将结果在编辑框中显示出来。4.设置了两个变量number1和number2用来存放前后两个数字。5.在编辑每个功能按钮时运用了UpdateData()这样一个函数,通过true

7、和false来实现DDX_Text(pDX,IDC_EDIT1,m_result);这个文件中IDC_EDIT1和m_result数据的转换。6.手工添加按钮消息映射。7.在编辑框中输出结果时只要将number1和number2数字进行相应的运算即可得到最后的运算结果。2.流程图与结构图(结构图反映系统是如何进行模块划分的)开始输入一个数Numberstate=1?否方框显示m_number2是方框显示m_number1OperationState=?11根据所选运算符进行运算得

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。