凯撒密码Caesar

//@132屋里上课群

#include<stdio.h>
#include<stdlib.h>//颜色
using namespace std;
int jiami();
int jiemi();
int main()
{
    printf("************************************************************\n");
    printf("*             凯撒Caesar                                                         *\n");
    printf("*                                                                                       *\n");
    printf("*             1.加密                                                                 *\n");
    printf("*             2.解密                                                                 *\n");
    printf("*                                     【注】:退出请按0                      *\n");
    printf("************************************************************\n");
    system("color 40");
    int id;
    printf("【键入操作代号】:");
    scanf("%d",&id);
    switch(id)
    {
    case 1:
        jiami();
        break;
    case 2:
        jiemi();
        break;
    case 0:
        system("color 40");
       return 0;
    default:
        main ();
    }
    return 0;
}
/***********加密*************/
int jiami()
{
    int ii=1,kk=2;
    printf("[键入完成请输入'/'] \n\n");
    printf("———————————————————————————————————————————————————\n");
    printf("[明文信息]\n\n");
    char miw[150];
    char mingw[100];
    for(ii;ii<100;ii++)
   {
    mingw[ii]=getchar();
    if(mingw[ii]<=120&&mingw[ii]>=97)
    {
     miw[ii]=mingw[ii]+3;
     continue;
    }
    if(mingw[ii]=='x')
    {
     miw[ii]='a';
    }
    if(mingw[ii]=='y')
    {
     miw[ii]='b';
    }
    if(mingw[ii]=='z')
    {
     miw[ii]='c';
    }
    if(mingw[ii]==' ')
    {
     miw[ii]=' ';
    }
    if(mingw[ii]=='/')
    {
        printf("\n\n");
        printf("[密文信息] \n\n");
        system("color 50");
        break;
    }
   }

for(kk;kk<ii;kk++)
    {
        if(miw[kk]==' ')
        {
            printf(" ");
            continue;
        }
    printf("%c",miw[kk]);

       }
       printf("\n\n");
       int id;
       printf("———————————————————————————————————————————————————\n");
    printf("【键入操作代号】:");
    scanf("%d",&id);
    switch(id)
    {
    case 1:
        jiami();
        break;
    case 2:
        jiemi();
        break;
    default:
        main ();
    case 0:
        system("color 40");
       return 0;
    }
    return 0;
}
/***********解密*************/
int jiemi()
{
    int ii=1,kk=1;
    printf("[键入完成请输入'/'] \n\n");
    printf("———————————————————————————————————————————————————\n");
    printf("[密文信息]\n\n");
    char miw[150];
    char mingw[100];
    for(ii;ii<100;ii++)
   {
    miw[ii]=getchar();
    if(miw[ii]<=123&&miw[ii]>=100)
    {
     mingw[ii]=miw[ii]-3;
     continue;
    }
    if(miw[ii]=='a')
    {
     mingw[ii]='x';
    }
    if(miw[ii]=='b')
    {
     mingw[ii]='y';
    }
    if(miw[ii]=='c')
    {
     mingw[ii]='z';
    }
    if(miw[ii]==' ')
    {
     mingw[ii]=' ';
    }
    if(miw[ii]=='/')
    {
        printf("\n\n");
        printf("[明文信息] \n\n");
        system("color 60");
        break;
    }
   }

for(kk;kk<ii;kk++)
    {
        if(mingw[kk]==' ')
        {
            printf(" ");
            continue;
        }
    printf("%c",mingw[kk]);

       }
       printf("\n\n");
       int id;
       printf("———————————————————————————————————————————————————\n");
    printf("【键入操作代号】:");
    scanf("%d",&id);
    switch(id)
    {
    case 1:
        jiami();
        break;
    case 2:
        jiemi();
        break;
    case 0:
        system("color 40");
       return 0;
    default:
        main ();
    }
    return 0;
}

@信息安全概论作业

 

 

 

 

posted @   HUGBOY  阅读(233)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· Ai满嘴顺口溜,想考研?浪费我几个小时
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
点击右上角即可分享
微信分享提示