Word scrambler和descrambler C ++

时间:2013-12-13 18:46:16

标签: c++ c

我真的需要这个项目的帮助。基本上我们需要重新创建由我的教授制作的程序。

以下是指示或说明:

“该程序将是消息加扰器,意味着真实的消息将被隐藏。该程序可让您选择是否对消息进行加扰或解扰。

要进行加扰,请输入一个字符串(c中的字符数组),程序将对其进行加扰,然后显示加扰的消息。然后选择descramble将其更改回原始消息。

提示:对某个消息进行加扰可能很简单,只需在原始字符中添加/减去/乘以某些内容即可。例如:char a ='a',如果你做a = a * 20,则该字符会改变“

我的问题:
你怎么争抢一个字的字母?请记住,字母本身也会改变。示例(来自上面的程序):你好会变成rovvy 2.如何存储加扰字以便将其用于解扰器?
3.如何在完成案例后循环选择案例?

这是我到目前为止所得到的:

#include <stdio.h>
#include <conio.h>

int main(){
    int n;

    printf("******************************* \n[1]Scramble (Enter new message) \n[2]Descramble (Only if you scramble first) \n[3]Quit \nWhat do you want to do?:");
    scanf("%d",&n);


    switch(n){
        case 1:{
            char a[20],b;
            printf("\nEnter your message:");
            scanf("%c",&a);
            a[20]=a[20]*20;                   
            printf("\nYour scrambled message is %c \n---------------------- ",a[2]);
            break;
        }

        case 2:{
            printf("\nDescrambler");
            break;
        }

        case 3:{
            printf("\nquit");
        }
    }
    getch();
}

1 个答案:

答案 0 :(得分:1)

  

1你如何扰乱一个字母的字母?
  请记住,字母本身也会改变   示例(来自上面的程序): hello 将变为 rovvy

根据你的帖子: 从字符串中获取字母,使用[]从单词中获取字母 例如:letter = word[2]; // Fetch the 3rd letter of the word.

更改信件:

   scrambled_letter = letter + 5;

替换单词中的字母:

word[2] = scrambled_letter;

  

2如何存储加扰字以便将其用于解扰器?   通常,您将事物存储在变量中。

在您的情况下,创建一个类型std::string的变量来存储该词,在解扰之前和之后。提示:请参阅std::string::substr函数。


  

3完成案例后如何循环选择案例?

通常,您将案例(ifswitch)放在forwhile循环中。 例如:

  for (i = 0; i < word.length(); ++i)
  {
      // Do case stuff here.
  }