I need help on my C++ homework. It\'s supposed to return the number of vowels in
ID: 3595683 • Letter: I
Question
I need help on my C++ homework. It's supposed to return the number of vowels in a string line using 3 functions: isVowel, countVowels, and the main function.
Here's what I have:
#include <iostream>
#include <string>
using namespace std;
char letter;
bool isVowel(char letter) {
if (letter == 'A' || letter == 'E' || letter == 'I' || letter == 'O' || letter == 'U' ||
letter == 'a' || letter == 'e' || letter == 'i' || letter == 'o' || letter == 'u') {
return true;
}
else {
return false;
}
}
int countVowels(string text) {
int vowel = 0;
if (isVowel(letter)) {
vowel++;
}
return vowel;
}
int main() {
string text;
char i=0;
while (i!='q') {
cout << "Enter Text:";
cin >> text;
cout << endl;
cout << "Number of Vowels: " << (countVowels(text)) << endl;
}
return 0;
}
It's not coming out right. Here's what the output is:
Enter Text:One Two Three
Number of Vowels: 0
Enter Text:
Number of Vowels: 0
Enter Text:
Number of Vowels: 0
Can someone tell me what I'm doing wrong? I can't seem to get it right.
Explanation / Answer
#include <iostream>
#include <string>
using namespace std;
char letter;
bool isVowel(char letter) {
if (letter == 'A' || letter == 'E' || letter == 'I' || letter == 'O' || letter == 'U' ||
letter == 'a' || letter == 'e' || letter == 'i' || letter == 'o' || letter == 'u') {
return true;
}
else {
return false;
}
}
int countVowels(string text) {
int vowel = 0;
for(int i=0;i<text.length();i++) {
if (isVowel(text[i])) {
vowel++;
}
}
return vowel;
}
int main() {
string text;
cout << "Enter Text:";
cin >> text;
cout << endl;
while (text!="q") {
cout << "Number of Vowels: " << (countVowels(text)) << endl;
cout << "Enter Text:";
cin >> text;
cout << endl;
}
return 0;
}
Output:
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.