《电子系c语言程序设计加密解密》由会员分享,可在线阅读,更多相关《电子系c语言程序设计加密解密(24页珍藏版)》请在金锄头文库上搜索。
1、0课程设计报告课程设计名称: C语言程序设计指导教师: 学 生: 学 号: 学 院: 电子信息工程学院 完成时间: 2011年9月27日 嘉应学院电子信息工程学院C语言课程设计说明书目录目录1 需求分析.12总体设计.23详细设计.33.1 换位加密流程图.33.2 换位解密流程图.33.3 替代加密流程图.33.4 替代解密流程图.34调试与测试.45测试结果.56附录.6C语言课程设计说明书01 需求分析问题描述(实验指导书中已经给出) 数据的输入和输出;要求使用文件操作。文件(明文,仅限于英文字母)存放在某一已知文本文件中,加密后的文件(密文)存放在另一文件中。换位加密和解密:加密:根据
2、密钥(即移位位数,用户从键盘输入)将对应字符进行移位操作,输出密文;解密:输入密文后再输入移位位数则可输出明文;凯撒加密和解密:加密:根据密钥(即移位位数,用户从键盘输入)将对应字符进行移位操作,输出密文;解密:输入密文后再输入移位位数则可输出明文;统计单词的个数;退出。C语言课程设计说明书12总体设计(程序设计总流程图,可以画带流程线的流程图)此处只需要写出一个流程图就可以了,就是总的那个流程图,请规范的画图。不需要分出2.1和2.2.开始welcome()caidan()transpen();transpde()caesaren()caesarde()mingwentongji()miwe
3、ntongji()byebye()C语言课程设计说明书23详细设计(各模块功能说明,如函数功能、入口及出口参数说明,函数调用关系描述等这块大家问题最多了,这里不是写程序代码,而是写流程图里面各个主要函数的作用,函数之间关系的说明。以第1题为例,此处应为:3.1 换位加密流程图流程图(对流程图加以说明。可以把关键语句放在此处,加以注释说明)建立mingwen.txt和miwen.txt文件 输入密钥n输入明文到数组rk=strlen(r)j 计算数组r长度for i=0 to k关闭并保存mingwen.txt文件打开mingwen.txt文件space(h,r) 将明文去空格并放到数组h中m=
4、strlen(h) 计算数组h长度m%n=0是 否 hang=m/n hang=m/n+1 j=0 for i=0 to hang for i=m to hang*n z=0fputc(ri,mingwen) 将明文存放到mingwen.txt文件中for j=0 to nhi=a+j j+ for i=0 to hangzlij=hzz+for j=o to nzlij=hzz+C语言课程设计说明书3for i=0 to nfclose() 关闭并保存mingwen.txt文件fclose() 关闭并保存miwen.txt文件清屏 返回菜单3.2 换位解密流程图流程图(对流程图加以说明。可以
5、把关键语句放在此处,加以注释说明)建立mingwen.txt和miwen.txt文件 输入密钥n输入明文到数组rk=strlen(r)j 计算数组r长度for i=0 to k关闭并保存miwen.txt文件打开miwen.txt文件space(h,r) 将明文去空格并放到数组h中m=strlen(h) 计算数组h长度for j=0 to hanghez=zlji输出hezz+fputc(zlji,miwen)fputc(ri,miwen) 将密文存放到miwen.txt文件中C语言课程设计说明书4m%n=0是 否 hang=m/n hang=m/n+1 j=0 for i=0 to n fo
6、r i=m to hang*n z=0for i=0 to hangfclose(mingwen) 关闭并保存mingwen.txt文件fclose(miwen) 关闭并保存miwen.txt文件清屏 返回菜单3.3 替代加密流程图流程图(对流程图加以说明。可以把关键语句放在此处,加以注释说明)建立mingwen.txt和miwen.txt文件ch=getchar() 接收回车字符Ch=getchar() 开始输入明文当ch!=nfclose(mingwen) 关闭并保存mingwen.txt文件for j=0 to hanghi=a+j j+ for i=0 to nzlij=hzz+for
7、 j=o to hangzlij=hzz+for j=0 to nhez=zlji输出hezz+fputc(zlji,mingwen)fputc(ch,mingwen) 将明文放到mingwen.txt文件中ch=getchar()C语言课程设计说明书5直到!(i=0 caidan();实现。5. 加密解密后返回主菜单;在每个函数后面加ch=getchar();ch=getchar();system(“cls“);caidan();第一个h=getchar()接收回车字符,第二个ch=getchar()使屏幕上的显示暂停,并实现返回主菜单的操作。5测试结果(用几组测试数据进行测试算法设计的正确
8、性,要包括测试数据和运行结果)。此处需要给出你输入的源码,以及程序运行后出来的结果,可以适当的截图。1:换位加密源码:Ce shi jie guo密钥:4运行结果:CigejusioheaC语言课程设计说明书82换位解密 源码:Cigejusiohea密钥:4运行结果:Ceshijieguoa3凯撒加密 源码:Ce shi jie guo密钥:4运行结果:Gi wlm nmi kysC语言课程设计说明书94:凯撒解密 源码:Gi wlm nmi kys 密钥:4 运行结果:Ce shi jie guo5.明文统计6.密文统计C语言课程设计说明书106附录(源程序清单和结果:源程序要加注释)此处
9、需要些出你的源程序代码,以及对主要代码的一些功能或作用说明。#include#include#includechar a=“mingwen.txt“,b=“miwen.txt“;welcome() /欢迎界面printf(“nnnnnnnnntt*nn“);printf(“ttt简朴寨加密解密欢迎您nn“);printf(“tt*n“);printf(“nnnnnnttttttt电信101班陈仁波n“);byebye() /退出界面printf(“nnnnnnnnntt*n“);printf(“tt*nn“);printf(“tttt欢迎使用nn“);printf(“tt*n“);printf(“tt*n“);tuichu() /退出菜单char tc;printf(“nnnnnnnnntt*nn“);printf(“tttt 确定退出?nn“);printf(“ttt 确定请按Y, 取消请按Nnn“);printf(“tt*