41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
Accessing Characters In Strings
|
|
#include <iostream>
|
|
#include <string>
|
|
#include <cctype>
|
|
using namespace std;
|
|
int main()
|
|
{
|
|
string text;
|
|
|
|
cout << "Counts words. Enter a text and terminate with a period and return:\n";
|
|
|
|
getline( cin, text, '.'); // Reads a text up to the first '.'
|
|
|
|
int i, // Index
|
|
|
|
numberOfWhiteSpace = 0, // Number of white spaces
|
|
|
|
numberOfWords = 0; // Number of words
|
|
|
|
bool fSpace = true; // Flag for white space
|
|
for( i = 0; i < text.length(); ++i)
|
|
{
|
|
if( isspace( text[i]) ) // white space?
|
|
{
|
|
++numberOfWhiteSpace;
|
|
fSpace = true;
|
|
}
|
|
else if( fSpace) // At the beginning of a word?
|
|
{
|
|
++numberOfWords;
|
|
fSpace = false;
|
|
}
|
|
}
|
|
cout << "\nYour text contains (without periods)"
|
|
<< "\ncharacters: " << text.length()
|
|
<< "\nwords: " << numberOfWords
|
|
<< "\nwhite spaces: " << numberOfWhiteSpace
|
|
<< endl;
|
|
return 0;
|
|
}
|