Мне нужно немного руководства.
Я хочу отточить свое мастерство, поэтому я тренируюсь с небольшими проектами.
Текущая задача - создать функцию, котораяумеет считать слоги в введенном пользователем слове .
Я думаю объявить массив гласных: a, e, i, o, u.
, затем выполнить итерацию введенного пользователемword, проверяя, совпадают ли какие-либо буквы слова с массивом гласных, и если да, проверьте, не соответствует ли следующая буква.(Я предполагаю, что слог определяется наличием гласного и согласного.)
Это потребуется для вложенных циклов, один для итерации по слову, а затем другой для итерации по массиву гласных стекущий индекс 'word'.
Я даже не понял, как я собираюсь сделать то же самое для слова [i + 1].
Но я изо всех сил, потому чтоЯ не могу заставить мою программу компилироваться из-за основных ошибок.Вероятно, мне следует использовать строковый класс, но я не знаю.
Вот что у меня есть (и оно не скомпилируется!):
#include <iostream>
char vowels[] = {'a', 'e', 'i', 'o', 'u'};
int numberOfSyllables(char *word)
{
int numberOfVowelsFound = 0;
for ( &element : word )
{
bool vowelMatch = 0;
for ( &vowel : vowels)
{
if (element == vowel)
{
vowelMatch = 1;
break;
}
}
if ((vowelMatch == 1) numberOfVowelsFound++;
}
return numberOfVowelsFound;
}
int main()
{
char *userInput[50];
std::cout << "Enter a word: ";
std::cin >> *userInput;
std::cout << numberOfSyllables(userInput) << " syllables found";
return 0;
}