Write a C++ program that reads and processes text file Project.dat . Each record
ID: 3617136 • Letter: W
Question
Write a C++ program that reads and processes text fileProject.dat. Each record of the filecontains a line of text no longer than 80 characters.
Your program is to read the input file and produce a summaryreport written to an output file (you choose its location andname). The report shall contain a count of the number of each vowelencountered (case insensitive); that is, the total number of As,the total number of Es, and so on for I, O, and U, the total numberof all other characters, and the percentage of each of thepreceding.
Use a single separate function to count the number ofvowels, others, and characters in the file.
Hint: Use the “getline” function to read eachline.
Explanation / Answer
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
void vowel(char, double&,double&,double&,double&,double&);
int main()
{
char letter;
double total(0), a(0), e(0), i(0), o(0), u(0);
double percent(0);
ifstream inFile("Project.dat");
while (inFile >> letter)
{
if(letter == 'a' || letter == 'A' || letter == 'E' || letter == 'e' || letter == 'i' || letter == 'I' || letter == 'o' || letter == 'O' || letter == 'U' || letter == 'u')
{
vowel(letter, a,e,i,o,u);
total++;
}
else
{
total++;
}
}
cout << "Results :" << endl;
cout << "A's: " << a << endl;
percent = ((a/total) * 100);
cout << "Percentage: " << setprecision(3) << percent << "%" << endl;
cout << "E's: " << e << endl;
percent = ((e/total) * 100);
cout << "Percentage: " << percent << "%" << endl;
cout << "I's: " << i << endl;
percent = ((i/total) * 100);
cout << "Percentage: " << percent << "%" << endl;
cout << "O's: " << o << endl;
percent = ((a/total) * 100);
cout << "Percentage: " << percent << "%" << endl;
cout << "U's: " << u << endl;
percent = ((a/total) * 100);
cout << "Percentage: " << percent << "%" << endl;
cout << "Total Number of Characters: " << setprecision(50) << total << endl;
}
void vowel (char letter, double& a, double& e, double& i, double& o, double& u)
{
if (letter == 'a' || letter == 'A')
{
a++;
}
else if(letter == 'e' || letter == 'E')
{
e++;
}
else if(letter == 'i' || letter == 'I')
{
i++;
}
else if(letter == 'o' || letter == 'O')
{
o++;
}
else if(letter == 'u' || letter == 'U')
{
u++;
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.