#include <iostream>
#include<string>
#include<fstream>
using namespace std;
void evaluateBook(string bookName);
int countCharacters(string bookLine);
int countLetters(string bookLine);
int totalPunctuations(string bookLine);
int main()
{
evaluateBook("demo-book.txt");
return 0;
}
int countCharacters(string bookLine) {
return bookLine.length();
}
int countLetters(string bookLine) {
int counter = 0;
for (int i = 0; i < bookLine.length(); i++) {
if ((bookLine[i] >= 'a' && bookLine[i] <= 'z') || (bookLine[i] >= 'A' && bookLine[i] <= 'Z')) {
counter++;
}
}
return counter;
}
int totalPunctuations(string bookLine) {
int counter = 0;
for (int i = 0; i < bookLine.length(); i++) {
if (bookLine[i]=='\.' || bookLine[i]=='\,' || bookLine[i]=='\"' || bookLine[i]=='\'') {
counter++;
}
}
return counter;
}
void evaluateBook(string bookName) {
ifstream in(bookName);
int totalVisibleCharacters = 0,totalLetters=0,numberOfPunctuations=0;
if (!in) {
cout << "File not found!!\n";
exit(0);
}
string bookLine;
while (getline(in, bookLine)) {
totalVisibleCharacters += countCharacters(bookLine);
totalLetters += countLetters(bookLine);
numberOfPunctuations += totalPunctuations(bookLine);
}
cout << "Total Visible charcters count: "<<totalVisibleCharacters << endl;
cout << "Total letters count: " << totalLetters << endl;
cout << "Total punctuations count: " << numberOfPunctuations<< endl;
}
Explanation:
Create a function that takes a bookLine string as a parameter and returns total number of visible character.Create a function that takes a bookLine string as a parameter and returns total number of letters.Create a function that takes a bookLine string as a parameter and returns total number of punctuation.Inside the evaluateBook function, read the file line by line and track all the information by calling all the above created functions.Lastly, display the results.False
Okay now I have to go to my school--