




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机程序设计综合实验 姓名 学号 班级 撰写时间 2015 7 8 计算机程序综合设计实验 一 A 部分 1 1 需求分析 1 2 设计 1 1 技术路线 1 压缩 1 解压缩 1 2 流程图与结构图 1 3 测试 2 二 B 部分 6 1 需求分析 6 2 设计 6 1 技术路线 6 2 流程图与结构图 7 3 测试 7 1 A 部分部分 一一 需求分析需求分析 描述程序要完成的功能描述程序要完成的功能 要求清晰要求清晰 完整完整 无二义性无二义性 编写压缩程序 为一个文本文件进行 Huffman 编码 对其进行压缩 将 压缩后的结果存储为文件 编写解压程序 将你压缩后的文件解压缩还原为原始文件 程序要能够处理较大的文本文件 例如提供的 kjv txt 二二 设计设计 1 技术路线技术路线 打算通过什么手段来完成这些功能打算通过什么手段来完成这些功能 1 压缩 打开待压缩文件 统计文章中出现的各字符及其权值 并赋值给 header i 数组 根据权值大小对字符数组进行排序 此处采用从大到小的排序方法 找出最小权和次小权 并以此构件哈夫曼树 对每个字符进行哈夫曼编 码 将所有的结点放到一个队列中 用一个结点替换两个频率最低的结点 新 结点的频率就是这两个结点的频率之和 新结点就是两个被替换结点的父结点 了 如此循环 重新读取文件将对哈夫曼的编码输出到输出文件 记录输出的每个字符对应的编码 解压时要用到 2 解压缩 打开待解压缩的文件 读取文档 一个一个字符的读取 并读出编码信息 将 header 数组按照编码长度从小到大进行排列 据此对文件部分进行解压缩 2 流程图与结构图流程图与结构图 结构图反映系统是如何进行模块划分的结构图反映系统是如何进行模块划分的 1 程序设计流程图 输入 1输入数输入 2 字 开始 进入压缩函数 输入待压缩文件 进入解压缩函数 输入解压缩文件 2 YNNY Y 图 1 流程图 2 结构图 12 图 2 结构图 3 测试测试 采用了哪些测试样例采用了哪些测试样例 这些样例是怎么设计出来的这些样例是怎么设计出来的 调试过程中都遇见调试过程中都遇见 了什么问题了什么问题 是如何解决的是如何解决的 1 对 kjv txt 文件进行压缩运行结果 compressuncompres s 主函数 正确读取 文件 输入压缩后的文件名文件读取失败 文件压缩失败压缩文件成功 计算压缩比 正确读取 文件 文件读取失败 输入解压缩后的文件 名 压缩成 功 解压缩 成功 文件解压缩失败解压缩文件成功 计算解压缩文件 与原文件是否相 同 开始 3 图 3 压缩前原文件部分内容 图 4 程序压缩文件成功界面 4 图 5 压缩成功后压缩文档的部分内容 2 对 kjv txt 文件的压缩文件运行解压缩操作结果 图 6 程序解压缩文件成功界面 5 图 7 对文件解压缩后解压缩文件的部分内容 3 对文档进行压缩和解压缩后文档中出现的相应文件 图 8 文件夹中多出的文档 4 出现问题 文件压缩成功后再对其解压缩 一直不能成功 解决办法 通过在网上搜索资料并且询问同学 在哈夫曼压缩函数尾 部添加了记录哈夫曼编码的代码 为后面的解压缩函数提供基础 问题得 到解决 5 设计测试样例 由于本程序压缩的文件都是纯字符文件 所以在选择文件时 我们选择纯 英文或者纯汉语文件 选取文件大小不同的英文和汉语文件 经测试 英文文 件和汉语文件都能进行压缩 大容量文件和小容量文件也能进行压缩 压缩发 现纯英文文件的压缩率较大 在文件解压时 将两个压缩后的文件进行解压 发现解压后的文件与原文件相同 故解压缩功能实现 6 B 部分部分 一 需求分析一 需求分析 编写一个计算器 能够完成四则算数混合运算 模仿 winows 自带的计算器 的科学型便可 不带括号 但可以判断计算优先级 拓展要求能够完成算术表 达式的求解 带括号的 1 利用 MFC 的向导 创建基于对话框的应用程序 添加按钮 编辑框等控 件 2 实现算术加 减 乘 除等运算 3 增加部分科学计算 三角函数的运算 对数运算 指数运算 进制转换 等 二二 设计设计 1 技术路线技术路线 打算通过什么手段来完成这些功能打算通过什么手段来完成这些功能 1 用各种控件编辑好计算器的编辑框和按钮 然后给控件连接变量 建立类向导 2 向三个类 CAboutDlg CCalculatorApp CCalculatorDlg 中添加代码 3 设置编辑框的属性 为编辑框连接一个 double 类型的 Value 值变量 m result 用于将结 果在编辑框中显示出来 4 设置了两个变量 number1 和 number2 用来存放前后两个数字 5 在编辑每个功能按钮时运用了 UpdateData 这样一个函数 通过 true 和 false 来实现 DDX Text pDX IDC EDIT1 m result 这个文件中 IDC EDIT1 和 m result 数据的转换 6 手工添加按钮消息映射 7 在编辑框中输出结果时只要将 number1 和 number2 数字进行相应的运算即可得到最后的 运算结果 2 流程图与结构图流程图与结构图 结构图反映系统是如何进行模块划分的结构图反映系统是如何进行模块划分的 否 是 开始 输入一个数 Numberstate 1 方框显示 m number1 方框显示 m number2 7 三三 测试测试 1 操作说明 2 加减乘除法测试 以除法为例 加法 先输入一个数 1 OperationState 根据所选运算符进行运算得到 m result 结束 计算器 数字键运算符键 根据 NumberState 判 定给 Number1 和 Number2 赋值 根据 OperationState 判定给运算符 输出 m result 8 点击除号 输入数字 2 9 点击 后得到 0 5 若除数为 0 则有提示出错 3 科学计算 以对数运算为例 输入数字 5 10 点击 Ln x 按钮得到结果 本次简易计算器实验用基本对话框来完成本次实验并设计好实验的对话框样式 添加 所需的按钮 编辑框等控件 给各个控件添加连接变量 接着设计好每个功能实现的算法 步骤 然后为各个类中添加代码 并且定义两个变量 number1 和 number2 分别存放前后两 个数字 然后用 switch 和 case 语句 实现按钮的功能 通过函数 UpdateData FALSE 建立 DDX Text pDX IDC EDIT1 m result 实现数据的转换 做这次课设之前 虽然学习了 C 但对 Visual C 面向对象程序设计还很陌生 通 过一星期的课程设计摸索 掌握
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抗菌药临床应用思路与制定科学的抗菌方案讲课文档
- 浙江省台州市三门县2023-2024学年第一学期四年级科学期中检测卷(含答案)
- 电瓶车维修知识培训内容课件
- 北楼中学分班考试试卷及答案
- 2-6-Deoxyfructosazine-13C4-生命科学试剂-MCE
- 电梯安全管理员证考试题库及答案
- 家政考试题及答案
- 电热电器知识培训总结
- 高层消防栓安全知识培训
- 2025年云教育项目提案报告模板
- 电池及电池系统维修保养师国家职业标准(2024年)
- 学校各岗位廉政风险点及防控措施
- 人教部编八年级语文上册《浣溪沙(一曲新词酒一杯)》示范课教学课件
- 临床成人失禁相关性皮炎的预防与护理团体标准解读
- 11声音的三要素(练习)(原卷版)
- 矿产购销合同模板
- 湖北荆州2023年中考语文现代文阅读真题及答案
- 重庆市字水中学2024届九年级上学期期中考试数学试卷(含答案)
- 水闸现场安全检测分析报告
- 输变电工程质量通病防治手册
- 车辆定点维修服务保障方案
评论
0/150
提交评论