程序设计及应用课程设计Word文件下载.docx

上传人:b****7 文档编号:22008271 上传时间:2023-02-02 格式:DOCX 页数:9 大小:598.08KB
下载 相关 举报
程序设计及应用课程设计Word文件下载.docx_第1页
第1页 / 共9页
程序设计及应用课程设计Word文件下载.docx_第2页
第2页 / 共9页
程序设计及应用课程设计Word文件下载.docx_第3页
第3页 / 共9页
程序设计及应用课程设计Word文件下载.docx_第4页
第4页 / 共9页
程序设计及应用课程设计Word文件下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

程序设计及应用课程设计Word文件下载.docx

《程序设计及应用课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《程序设计及应用课程设计Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。

程序设计及应用课程设计Word文件下载.docx

文件加密

文件的传输会有明文和密文的区别,明文发送是不安全的,用一个程序实现发送文件的加密和解密操作。

加密算法,密钥设计由同学自己选择现有的加密解密算法或是自己设计。

要求:

(1)对文件的字符根据加密算法,实现文件加密。

(2)对操作给出必要的提示。

(3)对存在的file1.txt文件,必须先打开,后读写,最后关闭。

加密后的文件放在file2.txt。

(4)解密文件保存在file3.txt中。

2.设计目的:

文件的传输会有明文和密文的区别,明文发送是不安全的,易遭到黑客拦截。

现要求编写一个程序实现文本文件的加密和解密操作。

3.要求:

(1)用户可选择是“加密文件”还是“解密文件”操作;

(2)加密文件:

用户输入明文文件名(待加密文件,该文件必须在磁盘存在)和密文文件名(加密后目标文件),系统能够打开明文源文件,每次读取源文件单个字节(直至读到文件结束),并与用户输入的密钥通过异或运算进行加密,加密后存入目标文件中;

(3)解密文件:

用户输入密文文件名(待解密文件,该文件必须在磁盘存在)和明文文件名(解密后目标文件),系统能够打开密文源文件,每次读取源文件单个字节(直至读到文件结束),并与用户输入的密钥通过异或运算进行解密,解密后存入目标文件中。

一、设计思路和分析过程

/*采用结构化程序设计思想,把系统的功能划分为哪几个模块,为实现每个功能模块设计了哪些函数及函数的作用说明*/

程序分为三个模块:

主函数菜单模块、“加密文件”模块、“解密文件”模块。

“加密文件”模块对应voidfun1()、“解密文件”模块对应fun2()。

Fun1()实现“加密文件”,根据要加密文件内容与key异或得到加密文件,并保存的第二个程序中去形成新的加密文件。

fun2()计算“解密文件”,根据要解密文件内容与key异或得到解密文件,并保存的第二个程序中去形成新的解密后的文件。

二、程序流程图

三、程序代码

#include<

stdio.h>

voidfun1()

{

FILE*fp1,*fp2;

charkey,ch;

charfilename1[50],filename2[50];

printf("

Pleaseinputorginalfilenamen:

"

);

menu21:

gets(filename1);

if((fp1=fopen(filename1,"

rt"

))==NULL)

%sopenError!

filename1);

gotomenu21;

}

Pleaseinputtargetfilenamen:

menu22:

gets(filename2);

if((fp2=fopen(filename2,"

wt+"

filename2);

gotomenu22;

Pleaseinputkey:

getche(key);

\n"

while((ch=fgetc(fp1))!

=EOF)

ch=ch^key;

fputc(ch,fp2);

fclose(fp1);

fclose(fp2);

Decryptionsuccess!

voidfun2()

voidfun3()

FILE*fp;

charch,filename[50];

printf("

Pleaseenterthefilename:

gets(filename);

if((fp=fopen(filename,"

r"

{

printf("

Can'

topenthisfile!

exit(0);

ch=fgetc(fp);

while(ch!

putchar(ch);

ch=fgetc(fp);

}

fclose(fp);

main()

menu:

Plasechooseaoption:

1.Encryptionafile.\n"

2.Decryptionafile.\n"

3.Opentheencryptionfile.\n"

0.Exittheapplication.\n"

switch(getch())

case'

1'

:

fun1();

break;

2'

fun2();

3'

fun3();

0'

exit(0);

gotomenu;

四、程序的调试过程及运行结果

最后的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