Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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:

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote