2022年程序设计及应用课程设计 .pdf

上传人:Q****o 文档编号:26491444 上传时间:2022-07-17 格式:PDF 页数:12 大小:609.97KB
返回 下载 相关 举报
2022年程序设计及应用课程设计 .pdf_第1页
第1页 / 共12页
2022年程序设计及应用课程设计 .pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《2022年程序设计及应用课程设计 .pdf》由会员分享,可在线阅读,更多相关《2022年程序设计及应用课程设计 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、程序设计及应用课程设计2015 2016 学年第三学期院(系)信息工程与自动化学院专业自动化学号 201510401308 班级自动化153 学生姓名张超设计时间 2016 年 9 月 5 日指导教师线岩团名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 1.设计题目:题目 7:文件加密文件的传输会有明文和密文的区别,明文发送是不安全的,用一个程序实现发送文件的加密和解密操作。加密算法,密钥设计由同学自己选择现有的加密解密算法或

2、是自己设计。要求:(1)对文件的字符根据加密算法,实现文件加密。(2)对操作给出必要的提示。(3)对存在的 file1.txt 文件,必须先打开,后读写,最后关闭。加密后的文件放在file2.txt。(4)解密文件保存在file3.txt 中。2.设计目的:文件的传输会有明文和密文的区别,明文发送是不安全的,易遭到黑客拦截。现要求编写一个程序实现文本文件的加密和解密操作。3.要求:(1)用户可选择是“加密文件”还是“解密文件”操作;(2)加密文件:用户输入明文文件名(待加密文件,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名

3、师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 该文件必须在磁盘存在)和密文文件名(加密后目标文件) ,系统能够打开明文源文件, 每次读取源文件单个字节(直至读到文件结束),并与用户输入的密钥通过异或运算进行加密,加密后存入目标文件中;(3)解密文件:用户输入密文文件名(待解密文件,该文件必须在磁盘存在)和明文文件名(解密后目标文件) ,系统能够打开密文源文件, 每次读取源文件单个字节(直至读到文件结束),并与用户输入的密钥通过异或运算进行解密,解密后存入目标文件中。一、 设计思路和分析过程/* 采用结构化程序设计思想,把系统的功能划分为哪

4、几个模块,为实现每个功能模块设计了哪些函数及函数的作用说明 */ 程序分为三个模块: 主函数菜单模块、“加密文件” 模块、 “解密文件”模块。“加密文件”模块对应void fun1()、 “解密文件”模块对应 fun2()。Fun1()实现“加密文件”,根据要加密文件内容与key异或得到加密文件,并保存的第二个程序中去形成新的加密文件。fun2()计算“解密文件”,根据要解密文件内容与key名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - -

5、- - - 异或得到解密文件,并保存的第二个程序中去形成新的解密后的文件。二、程序流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 三、程序代码#include void fun1() FILE *fp1,*fp2; charkey,ch; char filename150,filename250; printf( Please input orginalfilenamen:); menu21: gets(filename

6、1); if(fp1=fopen(filename1,rt)=NULL) printf(%s open Error!,filename1);goto menu21; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - printf( Please input target filenamen:); menu22: gets(filename2); if(fp2=fopen(filename2,wt+)=NULL) printf(%

7、s open Error!,filename2);goto menu22; printf( Please input key:); getche(key); printf(n); while(ch=fgetc(fp1)!=EOF) ch=chkey; fputc(ch,fp2); fclose(fp1); fclose(fp2); printf(Decryption success!n); void fun2() FILE *fp1,*fp2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -

8、 - 第 6 页,共 12 页 - - - - - - - - - charkey,ch; char filename150,filename250; printf( Please input orginalfilenamen:); menu21: gets(filename1); if(fp1=fopen(filename1,rt)=NULL) printf(%s open Error!,filename1);goto menu21; printf( Please input target filenamen:); menu22: gets(filename2); if(fp2=fopen(

9、filename2,wt+)=NULL) printf(%s open Error!,filename2);goto menu22; printf( Please input key:); getche(key); printf(n); while(ch=fgetc(fp1)!=EOF) ch=chkey; fputc(ch,fp2); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - fclose(fp1); fclose(f

10、p2); printf(Decryption success!n); void fun3() FILE *fp; charch,filename50; printf(Please enter the file name:); gets(filename); if(fp=fopen(filename,r)=NULL) printf(Cant open this file!); exit(0); ch=fgetc(fp); while(ch!=EOF) putchar(ch);ch=fgetc(fp); fclose(fp); main() 名师资料总结 - - -精品资料欢迎下载 - - - -

11、 - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - menu:printf(Plase choose a option:n); printf(1.Encryption a file.n); printf(2.Decryption a file.n); printf(3.Open the encryption file.n); printf(0.Exit the application.n); switch(getch() case 1:fun1();break; case 2:fun2

12、();break; case 3:fun3();break; case 0:exit(0); goto menu; 四、 程序的调试过程及运行结果最后的 key无法获取,使得其加密的后文件,并未加密,而是实现复制功能。发生错误的原因:(1)由于把 gets(filenmaen1);输成了 getc(filenmaen1);(2)由于把getche(key); 输成了 getch(key); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - -

13、- - - 1. 程序目录:2. 文件加密:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 3. 文件解密4. 打开加密文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 5. 加密解密 text 文件五、课程设计总结经过 2 个礼拜的程序设计学习,很大程度上的让我更深刻的理解的C语言在实际上的运用, 及其灵活。尤其在文件的存储和结构体模块,大大加强了我对概念和小细节的理解和把握。同时也让我知道的编程的艰辛,以后的路任重而道远。总之,这次课程设计让我收益非浅。对我将来的学习很有帮助。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁