资源描述:
《c语言课程设计-文件加密解密(含源代码).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言课程设计实验报告实验名称:文件加密解密院系:软件学院学号:日期:2012年9月3日—9月17日一:设计题目1:设计图形用户界面。2:对文件进行加密并对加密文件进行保存。3:对加密了的文件进行解密。二:设计过程设计过程中遇到的困难和解决方法:1:不能很好地理解题意(通过老师的讲解)。2:不知道如何设计加密解密程序(通过翻阅书籍和上网查找资料)过程:首先通过学习老师提供的资料了解大致的设计过程并懂得运用一些以前没有学习过的c语言。先利用文本文件设计出加密解密的主要过程并能运行。知道如何运用fopen将原文件打开并用fread将原文件内容读出来,然后进行加密设计并将加密的数
2、据用fwrite写进指定的文件中并保存。然后读出加密的文件并解密并保存。最后在写出的程序中加入图形用户界面,运用window,box,gotoxy等进行设计。三:源代码#include/*标准输入、输出函数*/#include/*标准库函数*/#include//*字符串处理函数*/#include/*字符操作函数*/#include#include#definekey_down80#definekey_up72#definekey_esc1#definekey_en
3、ter28#defineSIZE1voidbox(intstartx,intstarty,inthigh,intwidth);intget_key();charbuf[20*20*4];/*////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////加密解密*/voidfun(char*list,char*sd)/*加密过程*/{FILE*fp1,*fp2;charbuf[1000];/*
4、文件临时存放处*/registerintch;fp1=fopen("e:list.txt","r");/*用可读方式打开文件*/fp2=fopen("e:sd.txt","w");/*用可写方式创建一个文件*/if(fp1==NULL){printf("cannotopenfile");exit(1);}if(fp2==NULL){printf("cannotbuildfile");exit(1);}ch=fgetc(fp1);/*读出打开文件的光标处的一个字符*/while(!feof(fp1))/*读出的字符不是最后的字符*/{ch=ch<<1;/*加密方法
5、*/fputc(ch,fp2);/*加密的字符存放在指定的地方*/ch=fgetc(fp1);}rewind(fp2);/*将光标移动到第一个字符前面*/fread(buf,sizeof(buf),1,fp2);/*从文件的当前位置开始中读取buf中存放的数据*/printf("%s",buf);/*fclose(fp1);fclose(fp2);*/}voidman(char*sd,char*ds)/*解密过程*/{/*intn=0;*/FILE*fp2,*fp3;registerintfh;charbuf1[1000];fp2=fopen("e:sd.txt","rb
6、");/*用可读方式打开文件*/fp3=fopen("e:ds.txt","wb");/*用可写方式创建一文件*/if(fp2==NULL){printf("cannotopenfile");exit(1);}if(fp3==NULL){printf("cannotbuildfile");exit(1);}fh=fgetc(fp2);/*从光标处读出一个字符*/while(!feof(fp2))/*当读出的字符到达最后一个则停止*/{fh=fh>>1;/*解密方式*/fputc(fh,fp3);/*解密的字符存放在指定的地方*/fh=fgetc(fp2);}fre
7、ad(buf1,sizeof(buf1),1,fp3);/*读出buf1中所存放的数据*/printf("%s",buf1);}voidmain(){intk;char*f[]={"jiami","jiemi"};/**界面的形式/intkey,y;intj,q;charlist[300];charsd[300];chards[300];charch,fh;charbuf[1000];charbuf1[1000];FILE*fp1;FILE*fp2;intl1,l2;window(1,1,80,25);/*left