程序设计及应用课程设计(共13页).doc

上传人:飞****2 文档编号:15002024 上传时间:2022-05-10 格式:DOC 页数:13 大小:646KB
返回 下载 相关 举报
程序设计及应用课程设计(共13页).doc_第1页
第1页 / 共13页
程序设计及应用课程设计(共13页).doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

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

1、精选优质文档-倾情为你奉上程序设计及应用课程设计2015 2016学年第三学期院(系) 信息工程与自动化学院 专 业 自动化 学 号 8班 级 自动化153 学生姓名 张超 设计时间 2016年9月5日指导教师 线岩团 1.设计题目:题目7:文件加密 文件的传输会有明文和密文的区别,明文发送是不安全的,用一个程序实现发送文件的加密和解密操作。加密算法,密钥设计由同学自己选择现有的加密解密算法或是自己设计。要求:(1)对文件的字符根据加密算法,实现文件加密。 (2)对操作给出必要的提示。(3) 对存在的file1.txt文件,必须先打开,后读写,最后关闭。加密后的文件放在file2.txt。 (

2、4)解密文件保存在file3.txt中。2.设计目的:文件的传输会有明文和密文的区别,明文发送是不安全的,易遭到黑客拦截。现要求编写一个程序实现文本文件的加密和解密操作。3. 要求:(1)用户可选择是“加密文件”还是“解密文件”操作;(2)加密文件:用户输入明文文件名(待加密文件,该文件必须在磁盘存在)和密文文件名(加密后目标文件),系统能够打开明文源文件,每次读取源文件单个字节(直至读到文件结束),并与用户输入的密钥通过异或运算进行加密,加密后存入目标文件中;(3)解密文件:用户输入密文文件名(待解密文件,该文件必须在磁盘存在)和明文文件名(解密后目标文件),系统能够打开密文源文件,每次读取

3、源文件单个字节(直至读到文件结束),并与用户输入的密钥通过异或运算进行解密,解密后存入目标文件中。一、设计思路和分析过程/*采用结构化程序设计思想,把系统的功能划分为哪几个模块,为实现每个功能模块设计了哪些函数及函数的作用说明*/程序分为三个模块:主函数菜单模块、“加密文件”模块、“解密文件”模块。“加密文件”模块对应void fun1()、“解密文件”模块对应fun2()。Fun1()实现“加密文件”,根据要加密文件内容与key异或得到加密文件,并保存的第二个程序中去形成新的加密文件。fun2()计算“解密文件”,根据要解密文件内容与key异或得到解密文件,并保存的第二个程序中去形成新的解密

4、后的文件。二、程序流程图三、程序代码#includevoid fun1()FILE *fp1,*fp2;char key,ch;char filename150,filename250;printf( Please input orginal filenamen:);menu21: gets(filename1);if(fp1=fopen(filename1,rt)=NULL)printf(%s open Error!,filename1);goto menu21;printf( Please input target filenamen:);menu22: gets(filename2);i

5、f(fp2=fopen(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);fclose(fp1);fclose(fp2);printf(Decryption success!n);void fun2()FILE *fp1,*fp2;char key,ch;char filename150,filename250;printf

6、( Please input orginal filenamen:);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(filename2,wt+)=NULL)printf(%s open Error!,filename2);goto menu22;printf( Please input k

7、ey:);getche(key);printf(n);while(ch=fgetc(fp1)!=EOF)ch=chkey;fputc(ch,fp2);fclose(fp1);fclose(fp2);printf(Decryption success!n);void fun3()FILE *fp;char ch,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);whi

8、le(ch!=EOF)putchar(ch);ch=fgetc(fp);fclose(fp);main()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();break;case 3:fun3();break;ca

9、se 0:exit(0);goto menu;四、程序的调试过程及运行结果最后的key无法获取,使得其加密的后文件,并未加密,而是实现复制功能。发生错误的原因:(1)由于把gets(filenmaen1);输成了getc(filenmaen1);(2)由于把getche(key);输成了getch(key);1. 程序目录:2. 文件加密:3. 文件解密4. 打开加密文件5. 加密解密text文件五、课程设计总结经过2个礼拜的程序设计学习,很大程度上的让我更深刻的理解的C语言在实际上的运用,及其灵活。尤其在文件的存储和结构体模块,大大加强了我对概念和小细节的理解和把握。同时也让我知道的编程的艰辛,以后的路任重而道远。总之,这次课程设计让我收益非浅。对我将来的学习很有帮助。专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

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

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