jiajiemi.cpp

来自「一个十分基本的加解密算法」· C++ 代码 · 共 150 行

CPP
150
字号
#include<stdio.h>
#include<iostream.h>
#include<conio.h>

char a[4000];
void jiami();
void jiemi();
void jiemian();

//此程序是用c和c++共同编写,所以首先要求把这个程序看懂,在每一行的后面都加上注释
//然后要求把该程序改为c语言的程序。
//调试通过,调试环境不要求


//主函数 解释cout<<  相当于 printf     cin>> 相当于从终端读入输入的字符     endl相当于回车换行
void main()
{
 cout<<"***********欢迎使用简易文件加密解密程序***********"<<endl;
    jiemian();
}

//加密函数

void jiami()
{
 int i,j;
 char c;
 cout<<"请输入要加密的文字(输入@表示结束,字数2000以内,回车和空格不在加密范围):"<<endl;
 for (i=0;i<=4000;i++)
 {
  a[i]=getch();
   if(a[i]=='\r')
   cout<<endl;
   else
  printf("%c",a[i]);
      j=i; 
     if(a[i]=='@')
 {
  cout<<"确定输入结束么?(Y/N)"<<endl;
  c=getch();
  if(c=='y'||c=='Y') break;
  else i=i-1;
  cout<<"请继续输入:"<<endl;
 }
 }
 cout<<endl;
 cout<<"你共输入了"<<j<<"个字符,文件的加密版本如下(最后面的?为结尾标志,不属于加密文本):"<<endl;
 cout<<endl;
 for(i=0;i<=j;i++)
 {
  if(a[i]=='\r')
   cout<<endl;
  else{
  a[i]=a[i]+1;
  cout<<a[i];
  }
 }
 cout<<endl;
 cout<<"1.解密上述文件"<<endl;
 cout<<"2.返回主选框"<<endl;
 cout<<"3.退出程序"<<endl;
 cout<<"请输入您的选择(1解密,2返回,其他键退出):"<<endl;
 cin>>c;
 cout<<"文件的解密版本如下(大写的A为结尾标志,不属于加密文本):"<<endl;
 if(c=='1'){
  for(i=0;i<=j;i++)
 {
  if(a[i]=='\r')
   cout<<endl;
  else{
  a[i]=a[i]-1;
  cout<<a[i];
  }
 }
  jiemian();
 }
 else if(c=='2') jiemian();
 }

//解密函数
void jiemi()
{
 int i,j;
 char c;
 cout<<"请输入要解密的文字(输入@表示结束,字数2000以内,回车和空格不在加密范围):"<<endl;
 for (i=0;i<=4000;i++)
 {
  a[i]=getch();
   if(a[i]=='\r')
   cout<<endl;
   else
  printf("%c",a[i]);
      j=i; 
     if(a[i]=='@')
 {
  cout<<"确定输入结束么?(Y/N)"<<endl;
  c=getch();
  if(c=='y'||c=='Y') break;
  else i=i-1;
  cout<<"请继续输入:"<<endl;
 }
 }
 cout<<endl;
 cout<<"你共输入了"<<j<<"个字符,文件的解密版本如下(大写的A为结尾标志,不属于加密文本):"<<endl;
 cout<<endl;
 for(i=0;i<=j;i++)
 {
  if(a[i]=='\r')
   cout<<endl;
  else{
  a[i]=a[i]-1;
  cout<<a[i];
  }
 }
 cout<<endl;
 cout<<"1.加密上述文件"<<endl;
 cout<<"2.返回主选框"<<endl;
 cout<<"3.退出程序"<<endl;
 cout<<"请输入您的选择(1解密,2返回,其他键退出):"<<endl;
 cin>>c;
 cout<<"文件的解密版本如下(@为结尾标志,不属于解密文本):"<<endl;
 if(c=='1'){
  for(i=0;i<=j;i++)
 {
  if(a[i]=='\r')
   cout<<endl;
  else{
  a[i]=a[i]+1;
  cout<<a[i];
  }
 }
  jiemian();
 }
 else if(c=='2') jiemian();
 }

//主界面函数
 void jiemian()
 {
 char c;
 cout<<"1.加密"<<endl;
 cout<<"2.解密"<<endl;
 cout<<"3.退出"<<endl;
 cout<<endl;
 cout<<"请输入您的选择(1加密,2解密,其他键退出):"<<endl;
 cin>>c;
 if (c=='1') jiami();
 else if (c=='2') jiemi();
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?