• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

用c++完成凯撒密码的程序,输入一段字符,good good study,按照凯撒密码的方式加密,

发布于 2024-11-24 15:21:08

下面是一个使用C++编写的程序,用于实现凯撒密码加密。这段程序将用户输入的字符串按照凯撒密码的方式进行加密,默认向右移动3个位置。

凯撒密码加密程序(C++版本)

#include <iostream>
#include <string>

// 函数声明:对单个字符进行凯撒密码加密
char caesarEncryptChar(char ch, int shift);

int main() {
    std::string text;
    std::cout << "Enter text: ";
    std::getline(std::cin, text);  // 获取整行输入,包括空格

    std::cout << "Original text: " << text << std::endl; // 显示原始文本

    // 对每个字符进行加密
    for (int i = 0; i < text.length(); i++) {
        text[i] = caesarEncryptChar(text[i], 3);  // 此处默认向右移动3位
    }

    std::cout << "Encrypted text: " << text << std::endl; // 显示加密后的文本

    return 0;
}

// 定义凯撒密码加密函数
char caesarEncryptChar(char ch, int shift) {
    if (isalpha(ch)) { // 如果是字母
        char base = islower(ch) ? 'a' : 'A';
        ch = ((ch - base + shift) % 26) + base; // 移动和边界处理
    }
    return ch;
}

程序解释

  1. 主函数

    • 使用 std::getline 从用户获取输入,并存储在字符串 text 中。
    • 输出原始文本以供查看。
    • 遍历字符串中的每个字符并对其进行加密。
  2. caesarEncryptChar 函数

    • 如果字符是英文字母,计算其在字母表中的新位置,并进行加密。
    • 确保加密循环正确地处理大写和小写的英文字母。

编译运行

  1. 保存代码到一个文件中,例如命名为 caesar_cipher.cpp
  2. 使用以下命令编译(如果您使用的是g++):
    g++ -o caesar_cipher caesar_cipher.cpp
  3. 运行编译出的程序:
    ./caesar_cipher
  4. 输入字符串 "good good study",程序将输出加密后的结果。

以上是用C++编写凯撒密码加密的完整方法,您可以按照上述步骤尝试运行和测试。

0 条评论

发布
问题

在线
客服