This blog is about providing theory as well as simple executable codes of different programming languages such as java, C, C++, and web programming, etc. This blog will be helpful to the IT students to learn about programming.

Wednesday, March 15, 2023

Write a program which reads a text from the keyboard and displays the following information on the screen: a) Number of lines b) Number of words c) Number of characters Strings should be left-justified and numbers should be right-justified in suitable field width.

 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 <iostream>
#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:

Enter text: 
This is a sample text input
To test the program functionality

Sample Output:

Number of lines: 2
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

Slider Widget