我真的需要这个项目的帮助。基本上我们需要重新创建由我的教授制作的程序。
以下是指示或说明:
“该程序将是消息加扰器,意味着真实的消息将被隐藏。该程序可让您选择是否对消息进行加扰或解扰。
要进行加扰,请输入一个字符串(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();
}
答案 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完成案例后如何循环选择案例?
通常,您将案例(if
或switch
)放在for
或while
循环中。
例如:
for (i = 0; i < word.length(); ++i)
{
// Do case stuff here.
}