设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>计算机毕业设计 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于C的windows系统文件差异比较 课程报告+程序
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

目录

1. 实验环境、题目、目的 1

1.1. 实验环境 .................................................. 1

1.2. 实验题目 .................................................. 1

1.3. 个人的实现程度以及原因 .................................... 2

1.4. 实验目的 .................................................. 2

2. 设计过程 3

2.1. 前言 ...................................................... 3

2.2. 问题的整体构架 ............................................ 3

2.3. 算法核心:最长公共子序列(LCS) ............................. 4

2.4. 扩展 ...................................................... 5

2.5. 命令行 .................................................... 7

2.6. 类的关系 .................................................. 9

2.7. 合并功能 ................................................. 11

2.8. 代码的其他细节 ........................................... 11

3. 设计的详细信息 12

3.1. 程序的调用过程 ........................................... 12

3.2. 类 Compare 的功能与实现................................... 13

3.3. 类 Folder 的功能与实现 ..................................... 14

3.4. 类 LCS 的功能与实现 ...................................... 15

3.5. 主函数 main 的功能与实现 .................................. 17

4. 测试数据及其结果 18

4.1. 测试数据 18

5. 试验结束之后的思考 21

5.1. 程序暴露出的问题 ......................................... 21

5.2. 实验体会 ................................................. 21


1. 实验环境、题目、目的

1.1. 实验环境

表 1.1:系统配置、编译环境、其他条件

CPU

Core i5-7300HQ @2.5GHz

RAM

16G

硬盘

西部数据蓝盘 3D 500G

系统

Windows 10 18362.30

电源性能

连接电源、均衡

其他同时运行的程序

Word,VSCode,TIM,Chrome

编译命令

clang++ **.cpp -o **.exe -std=c++17 -static-libgcc --

target=x86_64-w64-mingw -O2

其中编译命令中,**表示某些文件名。由于使用大量的 STL 内容,因此打开

O2 提升性能(实际上 Visual Studio 也是默认打开 O2 的),否则速度太慢。不过为了防止过慢,基本所有的都是简单数据结构和简单算法,比如 vector 和 sort,pair 之类。

本次实验的所有代码都移交给 Git 托管,不包括内容详见.gitignore。

1.2. 实验题目

注意:下面题目内容是从实验题目 Word 文件复制,可能最终实现的题目有点差别。

有两个内容相似的文本文件,一个是未修改过的老版本,一个是修改过的新版本。要求实现以下功能:

1) 比较两个文件内容的差异,新老文件每行前均显示行号,比较结果要求能区分并标记出插入、修改、删除和移动的数据行;

2) 能够从一个文件中选择存在差异的数据行,合并到另一文件中,然后保存合并结果。

3) 对两个文件夹内的多个文件或子文件夹进行比较,标记出存在差异的文件, 可从一个文件中选择一个文件复制到另一个文件夹中


1.3. 个人的实现程度以及原因

1) 考虑到大型软件的核心比较程序都没有界面(比如 windows 自带的 diff,git 的

diff),也有好用的软件(但是我没听说过)基于 python  实现了界面,VSCode是基于 chrome 的渲染引擎实现的,因此对于任何的输出结果都可以方便的显示,因此我这里选择命令行实现。

2) 考虑到所有的 diff 算法都不识别移动,因此移动被忽略掉。举个例子:两个 10k 行的 bin 文件,每一行是 1-10 之一,在这种情况下,diff 无法识别出修改和移动。

3) 考虑到这个程序应当有一定的用户体验,我针对体验进行了一些优化。比如只有两个文件的时候是直接比较,但是两个文件夹则是取两者相对路径的交集进行比较。

4) 考虑到命令行的要求,我加入了几个可选项,方便对比。实际合并的时候会忽略选项,因为这影响到了文件的真实性。

5) 设计主要参考了代码需求,甚至没有考虑过 docx 之类的需求。

1.4. 实验目的

本实验的主要目的再于以下几点:

1) 小规模软件的构建。

2) 字符串的±1调整。

3) Windows 系统或者 C 底层的应用。

4) 设计模式的简单应用。








  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
基于Python的在线自主考试系 基于腾讯云的个人知识库管理系统 基于Android的酒店预定系统
基于matlab变频器控制交流电 基于微信小程序的家校联动平台管理 基于时频分析与自适应滤波技术的多
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!