【发布时间】:2014-11-29 20:59:15
【问题描述】:
所以我应该使用 stringConvertToPigLatin(string word) 函数将英语单词转换为 Pig Latin。我在互联网上找到的所有答案都是使用 char[],我不允许这样做。 如果第一个字母是元音,该程序应该以添加 -way 开始,如果它是辅音,则添加 -ay。问题是它总是添加“-way”,即使我的“单词”根本没有元音。我究竟做错了什么?这是我的功能:
string ConvertToPigLatin(string word)
{
char first = word.at(0);
cout << first << endl;
if (first == 'a' || 'A' || 'e' || 'E' || 'i' || 'I' || 'o' || 'O' || 'u' || 'U')
{
word.append("-way");
}
else
{
word.append("-ay");
}
return word;
}
【问题讨论】:
-
应该是
if (first == 'a' || first == 'A' || first == 'e' || ...)... -
提示:使用完整的警告,并注意它们。您的编译器应该警告您有关常量条件的信息。
-Wall -Wextra -pedantic