1
當我鍵入ask
兩次,而不是得到askyay askyay
回我只得到ask askyay
。豬拉丁語,for循環,字符串問題
當我輸入dog
兩次,而不是得到ogday ogday
我得到og dogday
。
我不知道我在做什麼錯。
#include <iostream>
#include <string>
#include <cctype>
#include <sstream>
using namespace std;
int main()
{
string vowels = "aeiou";
string new_word;
string pig_message;
string message;
getline(cin, message);
for (unsigned int i = 0; i <= vowels.length(); i++)
{
if (message[0] == vowels[i])
{
new_word = message + "yay ";
cout << new_word;
}
else if (!message[0] == vowels[i])
{
pig_message = message.substr(1) + message[0] + "ay";
cout << pig_message;
}
}
system("pause");
return 0;
}
'std :: getline()'讀取整行,包括空格。就我個人而言,我喜歡這種行爲,但你必須記得處理這些空間。或者你可以使用'std :: cin >> message'來讀取空格分隔的單詞。 –