ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:598.10KB ,
资源ID:5568222      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5568222.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(程序设计及应用课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

程序设计及应用课程设计.docx

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

2、e2.txt。 (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(f

5、ilename2);if(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,filenam

6、e250;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);if(fp2=fopen(filename2,wt+)=NULL)printf(%s open Error!,filename2);goto menu22;printf( Ple

7、ase 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 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

8、); ch=fgetc(fp); while(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;

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1