加密日记系统

突发奇想,借鉴了百度上多为dalao的代码整理出来的。

#include <bits/stdc++.h>
#include<direct.h>
#include <fstream>
#include <windows.h>
using namespace std;



void sign(){
    system("cls");
    cout<<"本软件为本文作者开发且版权所有。\n本软件只能输入字符,不支持多媒体。\n\n符号:\n\\n=回车\n\\t=大空格\n";
    getchar();
    getchar();
    return ;
}


void getFiles(string path,vector<string>&files)
{
    //文件句柄  
    long hFile=0;  
    //文件信息  
    struct _finddata_t fileinfo;  
    string p;  
    if((hFile=_findfirst(p.assign(path).append("\\*").c_str(),&fileinfo))!=-1)  
    {
        do  
        {
            //如果是目录,迭代之  
            //如果不是,加入列表  
            if((fileinfo.attrib &  _A_SUBDIR))  
            {  
                   if(strcmp(fileinfo.name,".") != 0  &&  strcmp(fileinfo.name,"..") != 0)  
                   getFiles( p.assign(path).append("\\").append(fileinfo.name), files );  
            }  
            else  
             {  
                files.push_back(p.assign(path).append("\\").append(fileinfo.name) );  
            }  
        }while(_findnext(hFile, &fileinfo)  == 0);  
        _findclose(hFile);  
    }  
 }  











int gettime(){
    time_t tt = time(NULL);//这句返回的只是一个时间cuo
    tm*t=localtime(&tt);
    int k=(t->tm_year+1900)*10000+(t->tm_mon+1)*100+t->tm_mday;
    return k;
}

void write(){
    system("cls");
    char filename[1315];
    char str[1000];
        cout<<"请输入日记名:\n";
    scanf("%s",str);
    sprintf(filename,"D:\\my_diary/%s.txt",str);
    
    
    ifstream iFile;
    iFile.open(filename);
    if (iFile)
    {
            cout<<"已存在此文件"; 
            Sleep(1000);
            write();
           
           return ; 
    }
    
    
    
    ofstream outFile;
    outFile.open(filename);
    string a;
    getchar();
    cout<<"请输入日记内容:\n"; 
    getline(cin,a);
    for(int i=0;i<a.length();i++){
        a[i]=a[i]+1;
    }
    string miyao;
    cout<<"请输入密钥(限定英文)\n"; 
    cin>>miyao;
    for(int i=0;i<a.length();i++){    
            a[i]=/*在此填入如何加密的代码*/;
    }

    for(int i=0;i<a.length();i++){
        outFile<<a[i];
    }
    cout<<endl;
    return ; 
}




void read(){
    system("cls");
    char * filePath = "D:\\my_diary";
    vector<string> files;
    getFiles(filePath,files); 
    char str[30];
    int size=files.size();
    for(int i=0;i<size;i++){
        cout<<files[i].c_str()<<endl;
    }
    
    
    
    
    
    
    
    
    printf("请输入存档文件名(不需要路径和后缀名):\n");
    char n[1000];
    scanf("%s",n);
    char filename[1315];
    sprintf(filename,"D:\\my_diary/%s.txt",n);
    ifstream iFile;
    iFile.open(filename);
    if (!iFile)
      {
           cout<<"open file "<<n<<" .txt fail!"<<endl;
           cout<<"请重新输入"<<endl<<endl;
           Sleep(1000);
           read();
           
           return ; 
    }
    string miyao;
    string a;
    getline(iFile,a);
/*    for(int i=0;i<a.length();i++){
        cout<<a[i];
    }
*/    
        cout<<"请输入密钥";
        cin>>miyao;
    for(int i=0;i<a.length();i++){
        /*在此填入如何解密的代码*/
    }
    for(int i=0;i<a.length();i++){
        a[i]=a[i]-1;
    }
    for(int i=0;i<a.length();i++){
        if(a[i]=='\\'&&a[i+1]=='n'){
            cout<<endl;
            i+=1;
            continue;
        }else if(a[i]=='\\'&&a[i+1]=='t'){
            cout<<"\t";
            i+=1;
            continue;
        }
        cout<<a[i];
    }
    getchar();
    getchar();
}






int main(){
    while(1){
    system("cls");
    printf("日记系统\n\n1.写入日记\n2.读取存档\n3.关于\n4.退出程序\n\n请选择:\n");
    int choose;
    cin>>choose;
    if(choose==1){
        write();
    }else if(choose==2){
        read();
    }else if(choose==3){
        sign();
    }else if(choose==4){
        break;
    } 
    }
    cout<<endl<<endl<<endl<<endl<<endl<<endl;
    system("pause");
    return 0;
}

本文链接:https://kaispace.com.cn/index.php/archives/282/

如果未注明出处,复制公开后需将注明本博客链接。
打赏作者