To solve this problem, we can read the text input from the keyboard using the getline function and then process the text to count the number of lines, words, and characters. We can use the istringstream class to separate the text into words.
Here's the program:
#include <sstream>
#include <string>
using namespace std;
int main() {
string text;
int num_lines = 0, num_words = 0, num_chars = 0;
// Read text from keyboard
cout << "Enter text: " << endl;
getline(cin, text);
// Process text
istringstream iss(text);
string word;
while (iss >> word) {
num_words++;
num_chars += word.length();
}
// Count lines
for (char c : text) {
if (c == '\n') {
num_lines++;
}
}
// Last line doesn't have a newline character, so add 1
num_lines++;
// Display results
cout << "Number of lines: " << num_lines << endl;
cout << "Number of words: " << num_words << endl;
cout << "Number of characters: " << num_chars << endl;
return 0;
}
Sample Input:
This is a sample text input
To test the program functionality
Sample Output:
Number of words: 10
Number of characters: 42
Explanation:
The input text contains 2 lines, 10 words, and 42 characters (including spaces). The program counts these values and displays them in a formatted output.
No comments:
Post a Comment
If you have any doubts, please let me know