0
私はPig Latin Translatorを作成しようとしていますが、これまでのところ私のプログラムは動作しますが、問題は1つだけです。入力が文全体のようなものである場合、私は句読点を扱うことができません:Pig Latin ProgramのC++句読
私はすでにその "言語"が嫌です! オットプット:「アングラゲイ」で既にアテーイ・アットエイ・アウェイに!
私のプログラムでは句読点を無視しているため、出力には表示されません。
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
bool IsVowel(char letter)
{
switch(letter)
{
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'Y':
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'y':
return true;
default:
return false;
}
}
void PigLatin(char *word)
{
string s1(word);
string s2;
if(IsVowel(word[0]) == true) s2 = s1 + "way";
else s2 = s1.substr(1) + s1[0] + "ay";
cout << s2 << " ";
}
int main()
{
char sentence[10000];
char *words;
cin.getline(sentence, 10000);
words = strtok(sentence, " ,.!:;""?");
while (words != NULL)
{
PigLatin(words);
words = strtok(NULL, " ,.!:;""?");
}
return 0;
}
特定の質問をする必要があります。これほど広すぎます。 「どうすればいいの?」といった質問。また広いだろう。解決策を試してから、問題が発生したときに特定の質問をしてください。 – Carcigenicate
なぜstd :: stringsとcharの配列の両方を使用していますか?そして、strtokを使用しないでください。 –
私はC++を初めて使い、何を使うべきか、何をしないのかを学ぶだけなので。私は、動作するものを見つけるために、さまざまなものを使用してみてください。 – Nysalla