我正在学习C ++,我应该编写一个函数(ConvertString)来修改输入字符串input_string 用字符替换每个字母字符,这是mod_int在字母表中的位置。例如,如果
input_string:Hello
mod_int:4
mod_string:Lipps
// L = H + 4,i = e + 4等
有人可以帮帮我吗? 谢谢!
int x;
x = input_string.length();
for (int i=0; i<input_string.length(); i++)
if (isalpha(input_string[x]))
{
int start = 65;
if (islower(input_string[x]))
int start = 97;
return ConvertString(input_string, mod_int =
(((int)input_string[x] - start + mod_int) % 26) + start);
} else cout << input_string[x];
答案 0 :(得分:0)
您可以将输入存储在std::string
中。然后,考虑使用std::transform
来使用您的函数进行转换。我将给你一个toupper()
函数的例子,你应该用你需要写的函数替换它(并将指针传递给那个函数而不是toupper()
):
#include <algorithm>
#include <string>
std::string input_string = "Hello";
std::transform(input_string.begin(), input_string.end(), data.begin(), ::toupper);
编辑:您的函数应具有以下签名:int convert_char(char c);
。