小提示,密碼檔案需要自己先建立乙個txt檔案自己輸入6個字元密碼,路徑與**的執行路徑在一起。。。
/*題目:檔案加密
檔案的傳輸會有明文和密文的區別,明文傳送時不安全的,用乙個程式實現傳送檔案的加密和解密操作。
加密演算法,金鑰設計由同學自己選擇現有的加密解密演算法或是自己設計的。
要求:(1)對檔案的字元根據加密演算法,實現檔案加密。
(2)對操作給出必要的提示。
(3)對存在的file1.txt檔案,必須先開啟,後讀寫,最後關閉。加密後的檔案放在file2.txt。
(4)解密檔案儲存在file3.txt中。
*/#include // 標準輸入輸出函式
#include // 標準庫函式
#include // 字串處理函式
#include //控制台輸入輸出函式
char password[6];//軟體初始密碼
int jiami();
int check(int type);
int jiemi();
int xianshi();
int zhucaidan();
int fuzhi();
int fanhui();
int gaimima();
int jieshu();
char infile[20];
char outfile[21];
int main()
// 密碼校驗成功,顯示程式選單,執行各種操作
zhucaidan();
return0;}
int jiami()
printf("\n請輸入加密後的檔名(含路徑):");
scanf("%s",outfile);
out=fopen(outfile,"wb");//只寫檔案
if(out==null)
ch=fgetc(in);//讀入乙個字元
while(ch!=eof)//讀入字元直到字元結束
int n;
n=i;
putchar(10);//空行
printf("原檔案內容如下:\n");
printf("%s\n",yuanzifu);
//printf("n=%d",n);
for(i=0;iint s=1;
int m=3000;
gaiguodezifu[i]=yuanzifu[i]+s*s-m;//進行字元加密處理
s++;
m--;
if(s>5000)
}//printf("%s",gaiguodezifu);
for(i=0;i// putchar(ch);
}putchar(10);
printf("加密後的檔案內容如下:\n");
printf("%s",gaiguodezifu);
putchar(10);
printf("\n按下任意字元後繼續:");
system("pause");//輸入任意字元後進行下一步,也就是讓輸出停留
fclose(in);
fclose(out);
system("cls"); // 清屏
printf("\n\n恭喜你,檔案[%s]加密成功,儲存在[%s]。\n", infile, outfile);
printf("\n\n輸入任意字元進行選擇下一操作");
system("pause");
return fanhui();
}int jiemi()
printf("\n請輸入解密後的檔名(含路徑):");
scanf("%s",outfile);
out=fopen(outfile,"wb");//只寫檔案
if(out==null)
ch=fgetc(in);//讀入乙個字元
while(ch!=eof)//讀入字元直到字元結束
int n;
n=i;
putchar(10);//空行
printf("加密檔案內容如下:\n");
printf("%s\n",yuanzifu);
//printf("n=%d",n);
for(i=0;iint s=1;
int m=3000;
gaiguodezifu[i]=yuanzifu[i]-s*s+m;//進行字元解密處理
s++;
m--;
if(s>5000)
}//printf("%s",gaiguodezifu);
for(i=0;i// putchar(ch);
}putchar(10);
printf("解密後的檔案內容如下:\n");
printf("%s",gaiguodezifu);
putchar(10);
printf("\n按下任意字元後繼續...");
system("pause");//輸入任意字元後進行下一步,也就是讓輸出停留
fclose(in);
fclose(out);
system("cls"); // 清屏
printf("\n\n恭喜你,檔案[%s]解密成功,儲存在[%s]。\n", infile, outfile);
printf("\n\n輸入任意字元進行選擇下一操作...");
system("pause");
return fanhui();
}int xianshi()
while(ch2!=eof)
printf("\n\n按下任意鍵進入下一選項...");
system("pause");
return fanhui();
}int check(int a)
for(i=0;i<6;i++)
for(i=0;i<6;i++)
password[i]=ch3[i];
// printf("%s",password);
char pwd[6]; //使用者輸入的密碼
int trytimes; // 使用者嘗試輸入密碼的次數
printf("\n程式設定了密碼,驗證通過後才能使用。請輸入6位數字密碼:");
for(trytimes=1; trytimes<=3; trytimes++)
else
if(trytimes==3)
else
}return0;}
int zhucaidan()
return
0; }
}//bug1:在主選單輸入多個字母會自動跳到加密檔案選單;
int fuzhi()
printf("\n請輸入加密後的檔名(含路徑):");
scanf("%s",outfile);
out1=fopen(outfile,"wb");//只寫檔案
if(out1==null)
while(!feof(in1))//如果沒有遇到輸入檔案的結束標誌
//feof(in)是檢查in指向的檔案是否結束
putchar(10);
fclose(in1);
fclose(out1);
return fanhui();
}int fanhui()
}}int gaimima()
getchar();
printf("\n請輸入6個新密碼字元或數字:");
for(i=0;i<6;i++)
getchar();
printf("\n\n請再輸入一次6個新密碼字元或數字:");
for(i=0;i<6;i++)
for(i=0;i<6;i++)
continue;
}for(i=0;i<6;i++)
for(i=0;i<6;i++)
fclose(in);
printf("按下任意鍵返回主選單...");
system("pause");
return main();
}int jieshu()
我上傳部分執行:
大一下期課程設計。
課程設計表
create database drug 藥品表 create table drug did nvarchar 10 primary key,dname nvarchar 50 not null,dimage nvarchar 100 not null,dmodel nvarchar 10 chec...
課程設計總結
課程設計今天終於完了,答辯之後感悟挺多的,一方面,覺得自己的努力獲到了應有的成果,當然也有很多不足及未完成的地方 另一方面,看到很多其他同學好的設計及思想。覺得很多方面都值得自己學習,自己還有很多方面都很欠缺,本次課程設計我和兩個同學共三個人做了聊天程式,仿qq做的。聊天軟體,是我之前一直想完成的乙...
課程設計備份
include include include include define size 100 define increase 10 struct nodel 順序表 typedef struct tree btree,bnode 二叉樹struct stackt 棧int caidan int i...