Ich habe ein Programm erstellt, das englische Wörter in Schwein Latein (Teil meiner Klasse) konvertiert. Derzeit konvertiert es nur ein Wort: "Hallo" -> "Elloyay".Wie fügen Sie Strings zu einem Array von Strings
Aus meiner eigenen Neugierde wollte ich die Möglichkeit ermöglichen, mehrere durch Leerzeichen getrennte Wörter zu lesen und dann jedes dieser Wörter entsprechend umzurechnen.
Technisch gesehen verwenden Sie substr
, um ein Wort zwischen zwei aufeinanderfolgenden Leerzeichen zu erfassen. Die Eingabe wird durch substr
zu getrennten Wörtern unterbrochen. Jedes Wort in einer Zeit wird von meinem make_pig_latin
Parser geparst und ersetzt ihr entsprechendes Wort in diesem string array
.
z.B .: die Eingang"Hallo gelbe Kerl" im Ausgang führen"elloyay ellowyay ellowyay".
Kann jemand mich wissen lassen, wenn meine Codierung, um diese Aufgabe zu erfüllen, auf dem richtigen Weg ist. Ich stürze ständig in Runtime und ich denke, es ist wegen der Array von Strings nicht korrekt erstellt. Aber ich bin mir nicht ganz sicher.
Jede Hilfe wäre willkommen.
int main()
{
string word;
string word_List[] = { word };
cout << "Enter your story (Please include spaces between each word): ";
getline(cin, word);
char c = word[0];
int i = 0;
int j = 0;
int k = i;
int l = 0;
while (i < (word.length() - 1))
{
if (word[i] = '\n')
{
string new_Word = word.substr(j, k);
string test_Pig = make_Pig_Latin(new_Word);
word_List[l] = test_Pig;
l == l + 1;
j == i + 1;
i == k + 1;
}
if (word[i] = '.')
{
i = word.length() + 1;
}
}
cout << "The Story In Pig Latin Is " << word_List << endl;
cin.ignore();
cin.get();
return EXIT_SUCCESS;
}
Zusätzliche Informationen für den Benutzer hinzuzufügen: alle Fehlerzeilen, Compiler + Version verwendet, O verwendet.
Verwenden Sie einen 'std :: vector'. 'word_List' kann nur eine einzige' Zeichenfolge' enthalten, rohe Arrays haben eine feste Kompilierzeit. – user657267
Diese Art der Sache 'if (word [i] = '.')' Sollte 'if (word [i] == '.')' Sein. Und Ihr Array hat nur einen Steckplatz. –