- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文件移位加密和解密
第1章 需求分析- 2 -1.1 输入的形式和输入的范围- 2 -1.2 输出的形式- 2 -1.3 程序实现的功能- 2 -第2章 概要设计- 3 -2.1 主要数据结构和数据类型的定义描述- 3 -2.2主要算法思想和算法描述- 3 -2.3各程序模块之间的层次和调用关系- 3 -第3章 详细设计- 4 -3.1 实现概要设计中定义的所有数据类型- 4 -3.2 程序的流程- 4 -第4章 调试分析- 5 -4.1调试过程中遇到的问题及解决办法- 5 -4.2 改进设想- 5 -4.3 经验和体会- 5 -第5章 用户使用说明及测试结果- 6 -5.1 如何使用程序:- 6 -5.2 测试结果:- 6 -5.3 程序运行界面- 7 -参考文献- 8 -附录(源程序清单)- 9 - 第1章 需求分析1.1 输入的形式和输入的范围将已知文件的内容以字符形式读出,数字、字母、符号。1.2 输出的形式数字、字母、符号并将加密或解密后的文件保存。1.3 程序实现的功能将对应字符的ASCII码进行移位操作,继而对其文件内容进行加密或解密。最后,将加密或解密后的文件保存。第2章 概要设计2.1 主要数据结构和数据类型的定义描述该程序的主要数据结构为:数组,文件。该程序的主要数据类型:1、基本类型(整型、字符型);2、构造类型(数组类型);3、指针类型。其中主要运用数组。 主要算法思想和算法描述1、实现字符转换的基础思想。将已知文件的内容以字符形式读出,根据密匙将对应字符的ASCII码进行移位操作。最后,将加密或解密后的文件保存。例如:密匙:5 原文:abcd 加密:fghi 2、除主函数外设计一个函数,对文件中的字符所对应的ASCII码进行移位操作。 3、将结果返回给主函数,通过标准输出函数printf输出。通过fprintf输入文件保存。void uncode(char *p, int key)。 各程序模块之间的层次和调用关系1、函数void code(char *p, int key)和void uncode(char *p, int key)用来实现ASCII码的移位。2、首先建立函数void code(char *p, int key)和void uncode(char *p,int key)在此函数中,对文件中的字符所对应的ASCII码进行移位操作。再建立主函数main( )将文件打开以字符形式读出并调用函数void code(char *p, int key)和void uncode(char *p, int key)。第3章 详细设计3.1 实现概要设计中定义的所有数据类型1、void code(char *p, int key)和void uncode(char *p, int key)定义了形式是参数字符型变量char *p,定义了整型变量int key。2、主函数main( )定义了字符型变量str[100];整型变量n,key;3.2 程序的流程输入nn=1输入key*p=*p+key;p++;n=2输入key*p=*p-key;p++;n=3结束YNYNY开始开始图表 3.2 程序流程图第4章 调试分析 调试过程中遇到的问题及解决办法在初次运行中,符号所对应的ASCII码移位结果错误。经过调试发现调用函数中的移动数值错误。程序无法识别空格,将程序中的“fscanf”改为“fgets”。改正之后,运行结果正确。4.2 改进设想除主函数外,还需建立两个子函数,在本程序中,由于进行ASCII码移位的次数较多,则可以在该函数中调用子函数,这样方便了函数调用关系,算法也因此化复杂为简单,更方便用户使用。4.3 经验和体会1、多次调试不但可以改正错误而且可以简化程序从而达到完善程序的目的。2、对于初学者,好的程序不仅需要好的算法思想还需要多次的调试多次的修改。3、课程设计所用到的知识不是只源于基础的C语言课程,为了更好的完成课程设计任务还需要查找其他相关书籍。第5章 用户使用说明及测试结果5.1 如何使用程序:1、打开运行页面,按提示输入密匙。2、按回车键“enter”结束密匙的输入。3、屏幕显示出“1,加密 2,解密 3,退出”。4、在菜单中选项。5、按回车键“enter”结束对选项的选择输入。6、显示出结果并保存,程序结束。5.2 测试结果:以字符形式读出文件内容:ab#5cd在菜单选项中选择“1,加密”选项。输入密匙:5密文为:fg(:hi在菜单选项中选择“2,加密”选项。输入密匙:5原文为:ab#5cd在菜单选项中选择“3,退出”选项。Press any key to continue测试结果正确。 以字符形式读出文件内容:在菜单选项中选择“1,加密”选项。输入
文档评论(0)