ヘルプ!私は教授が私たちにくれたこのコードを理解しようとしています-
#include <stdio.h>
#include <string.h>
void encrypt(int offset, char *str) {
int i,l;
l=strlen(str);
printf("\nUnencrypted str = \n%s\n", str);
for(i=0;i<l;i++)
if (str[i]!=32)
str[i] = str[i]+ offset;
printf("\nEncrypted str = \n%s \nlength = %d\n", str, l);
}
void decrypt(int offset, char *str) {
// add your code here
}
void main(void) {
char str[1024];
printf ("Please enter a line of text, max %d characters\n", sizeof(str));
if (fgets(str, sizeof(str), stdin) != NULL)
{
encrypt(5, str); // What is the value of str after calling "encrypt"?
// add your method call here:
}
}
次のことを行うことになっています。
C
コードをに変換しますC++
。「decrypt」メソッドにコードを追加して、暗号化されたテキストを解読します。
メッセージを暗号化および復号化する
pointer
操作ではなく操作を使用するようにコードを変更します。array
mainメソッドで、「decrypt」メソッドを呼び出して、暗号化されたテキスト(str)を解読します。
これは私が何とか行った限りですが、私は今かなり立ち往生しています。特に私にはそのC
言語のバックグラウンドがないので。どんな助けでもいただければ幸いです。
#include <iostream>
#include <string.h>
void encrypt(int offset, char *str)
{
std::cout << "\nUnencrypted str = \n" << str;
char *pointer = str;
while(*pointer)
{
if (*pointer !=32)
*pointer = *pointer + offset;
++pointer;
}
std::cout <<"\nEncrypted str =\n" << str << "\n\nlength = ";
}
void decrypt(int offset, char *str) {
// add your code here
}
void main(void) {
char str[1024];
std::cout << "Please enter a line of text max " << sizeof(str) << " characters\n";
if (fgets(str, sizeof(str), stdin) != NULL)
{
encrypt(5, str); // What is the value of str after calling "encrypt"?
// add your method call here:
}
}