好的,所以上次我在这个程序上寻求帮助,因为我无法将字符转换为DEC并添加到它。由于给出了一些建议,我终于得到了它的工作,它几乎完成了。
#include <iostream>
using namespace std;
int main()
{
char word[128];
int x = 0;
int v;
int shift;
int sv;
cin >> shift;
cin >> word;
while (word[x] !='\0') // While the string isn't at the end...
{
v = int(word[x]);
sv = v + shift;
x++;
cout<< static_cast<char>(sv);
}
return 0;
}
但是我不知道如何使用它来接受白色空间
isspace
你能帮助我吗?
在这种情况下,字符串中的getline
可能是你的朋友。这是你的代码,但修复了使用它。
#include <string>
int rotMain()
{
//char word[128];
string word;
int x = 0;
int v;
int shift;
int sv;
cin >> shift;
getline(cin, word);
while (word[x] != '\0') // While the string isn't at the end...
{
v = int(word[x]);
sv = v + shift;
x++;
cout << static_cast<char>(sv);
}
return 0;
}
你在做其他一些有点奇怪的事情,就像你没有取任何角色的模数那样,例如旋转1的'Z'将是'[',但这可能是设计的?还建议使用标准迭代器迭代字符串,但如果你刚刚学习,现在就不要担心任何问题!