Exercise 8)
Write a program that gets one text with the maximum of 256 characters from input and converts it to standard format based on the following rules and prints the final standardized text:
The only allowed characters in the text are: {‘a’..’z’}, {‘A’..’Z’}, {‘0’..’9’}, {‘?’,’!’, ’.’ }. Therefore you should delete not allowed characters.
After each sentence just one space should be included.
The first letter of each sentence should be capitalized.
Having another capitalized character in the sentence except the first letter is not allowed.
Having more than one space after each word is not allowed.
Note that in the entered text of the user the separator of words is the space and the ending of each sentence is ‘.’, as a result you could use these points for your text processing. You should give the detailed report about the text including following information:
The number of characters
The number of words
The number of sentences
Solution-
#include <iostream>
#include <sstream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <cctype>
using namespace std;
int main()
{
int i = 0, count = 0,a=0;
char text[256]; // maximum 256 characters
// create a string vector to hold the words
vector<string> sV;
//--------Printing my name on screen----------------
cout<<" Welcome to the program 2.4 written by Your Name"<<endl;
cout<<"********************************************************************************"<<endl;
cout<<endl<<endl<<endl;
//----receiving the variables from input--------------
cout << "Enter text (max. 256 characters): "; // Enter text input
cin.getline(text, 256, '\n'); // Input goes into text
string s(text), word;
cout << "Your text was: " << endl;
for (i=0; i<s.size(); i++){
if (i == 0) {
s[i] = toupper(s[i]);
cout << s[i];
}
if (isalpha(s[i])){
if (s[i-1] =='?' || s[i-1] == '!' || s[i-1] =='.') {
s[i] = toupper(s[i]);
cout << s[i];
}
else{
s[i] = tolower(s[i]);
cout << s[i];
}
}
else if (isdigit(s[i])){
cout << s[i];
}
else if (isspace(s[i])){
if (s[i-1] != ' ' || s[i+1] != ' ') {
cout << s[i];
}
}
else if (s[i] =='?' || s[i] == '!' || s[i] =='.'){
if (s[i+1] != ' ' || s[i+1] != ' ') {
cout << s[i] << " ";
}
else {
cout << s[i];
}
count=count+1;
}
}
while(s[i] ==' ' || s[i] == '!' || s[i] =='.')
{
cout << s[i];
a=a+1;
}
cout << endl;
// put the sentence into a stream
istringstream instr(s);
// the >> operator separates the stream at a whitespace
while (instr >> word){
// optionally store each word in a string vector
// could use an array, but a vector is easier
sV.push_back(word);
}
cout << "Number of characters in text: " << s.length() << endl; // Counting the lenght of text, excluding the null
cout << "Number of words in text: " <<sV.size() << endl; // now let's look at the vector
cout << "Number of sentences in text: " << count << endl;
system ("pause");
return 0;
}
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
- Write a C++ program to Make Simple calculator
- Write a C++ program to arrange 10 numbers in ascending order
- Write a C++ program to calculates the following equation for entered numbers (n, x). 1+ (nx/1!) - (n(n-1)x^2/2!)
- Write a C++ program to 1. Initialize Matrices 2. Print Matrices 3. Multiply Matrices 4. Transpose of 2nd Matrix 5. Move Row and Column of 2nd Matrix 6. Quit
- Write the C++ program for processing of the students structure
- Write a C++ program that gets two strings from input and stores them in variables such as str1 and str2
- Write a C++ program that gets one text with the maximum of 256 characters from input and converts it to standard format based on the following rules and prints the final standardized text
- C++ Mini-Project: Human Resource Management Program
- Write a C++ program to Solve Quadratic equation
- C++ program for Calculation of the surface and the volume of a cone
- C++ Program to show Fibonacci Series
- C++ Program for Decimal to Hexadecimal Conversion
- C++ program to convert decimal number into binary
- C++ PROGRAM TO CHECK WHETHER A NUMBER IS NOT A PERFECT NUMBER OR NOT
- C++ program to find prime numbers in a given range
- C++ program to find Armstrong number
- C++ program to find prime number
- C++ program to convert a string into upper-case or lower-case
- C++ program to concatenate strings
- How to Run and install the mongo c++ drivers (MongoDB) On Ubuntu Linux
- How to Install Crypto++ Library with the Eclipse IDE on UBUNTU12.10 OS.
- Build and Run Sample Code Using Log4Cpp from Source Code on Ubuntu
- C++ counting the number of lines in a text file
- How do you implement the factorial function in C++
- C++ program to find HCF n LCM of two numbers
- The most elegant way to split a string in C++
- C++ Program for Printing 1 to 1000 without loop
- PASS BY REFERENCE C++ EXAMPLE
- C++ PROGRAM TO FIND WHETHER A NUMBER IS EVEN OR ODD
- C++ code to print all odd and even numbers in given range
- C++ Program to Check Palindrome Number
- C++ code to get sum of all odd numbers in given range
- C++ program to find ASCII Code for Characters and numbers
- Compiling and Integrating Crypto++ into the Microsoft Visual C++ Environment + Running Sample program
- Write a c++ program that calculates the average of three numbers
- C++ program compute hourly pay taking overtime into account
- C++ program to print 5 rows of 10 stars
- Write a C++ program that can print a temperature conversion
- Write a C++ program to construct a pyramid of stars
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
0 comments:
Post a Comment