Ich habe Schwierigkeiten bei der Suche nach bestimmten Zeichen innerhalb meiner Zeichenfolge. Die Anforderungen der Funktion ist es, sicherzustellen, dass "Alle Zeichen (außer dem ersten) Kleinbuchstaben, Leerzeichen oder Satzzeichen (nur ';' oder ',')" Ich muss auch sicherstellen, dass die letzte Zeichen in der C-String ist entweder ein! oder ein .Nach bestimmten Zeichen suchen
Hier ist was ich habe.
bool isItSentence(const char* s)
{
int x = strlen(s);
for (int c = 0; s[c] != '\0'; c++)
{
if (!isupper(s[0])) return false;
if (isupper(s[c]) && c > 0) return false;
if (s[c] != ' ' && s[c] != ';' && s[c] != ',' && !islower(s[c])) return false;
}
if (s[x - 1] != '.' && s[x - 1] != '!') return false;
return true;
}
int main()
{
std::string str = "Smelly.";
std::cout << isItSentence(str.c_str()) << std::endl;
system("pause");
}
Aber ich bekomme immer wieder, dass es kein Satz ist, auch wenn es sein sollte. Irgendwelche Vorschläge, wie ich das beheben kann?