//ANDREW ALSPAUGH CS1A Chapter 10. P. 588 #3
//
/****************************************************************************
Calculate Total Words
____________________________________________________________________________
This program displays a user inputted string (less than 100 characters)
and also displays the total amount of words in the string.
____________________________________________________________________________
//Input
const int SIZE = 100;
char string[SIZE];
char space = ' ';
//Output
int spaceCount = 0;
int wordCount = 0;
****************************************************************************/
#include <iostream>
#include <cstring>
using namespace std;
//WordCount Prototype
int GetWordCount (char *string, const int SIZE, char &space, int &spaceCount, int &wordCount);
int main()
{
//DATA DICTIONARY
//Input
const int SIZE = 100;
char string[SIZE];
char space = ' ';
//Output
int spaceCount = 0;
int wordCount = 0;
//INPUT
cin.getline (string, SIZE);
//PROCESS
wordCount = GetWordCount( string, SIZE, space, spaceCount, wordCount);
//OUTPUT
cout << "User entered String:" << endl;
cout << string << endl << endl;
cout << "There are " << wordCount << " words" << endl;
return 0;
}
//WordCount Definition
int GetWordCount (char *string, const int SIZE, char &space, int &spaceCount, int &wordCount)
{
for (int count = 0; string[count] != '\0' ; count++)
{
if (*(string + count) == space)
spaceCount += 1;
}
wordCount = spaceCount + 1;
return wordCount;
}
Ly9BTkRSRVcgQUxTUEFVR0gJCQlDUzFBICAgICAgICAgICAgIENoYXB0ZXIgMTAuIFAuIDU4OCAjMwovLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpDYWxjdWxhdGUgVG90YWwgV29yZHMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpUaGlzIHByb2dyYW0gZGlzcGxheXMgYSB1c2VyIGlucHV0dGVkIHN0cmluZyAobGVzcyB0aGFuIDEwMCBjaGFyYWN0ZXJzKQphbmQgYWxzbyBkaXNwbGF5cyB0aGUgdG90YWwgYW1vdW50IG9mIHdvcmRzIGluIHRoZSBzdHJpbmcuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCS8vSW5wdXQKCWNvbnN0IGludCBTSVpFID0gMTAwOwoJY2hhciBzdHJpbmdbU0laRV07CgljaGFyIHNwYWNlID0gJyAnOwoJCgkvL091dHB1dAoJaW50IHNwYWNlQ291bnQgPSAwOwoJaW50IHdvcmRDb3VudCA9IDA7CgkKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vV29yZENvdW50IFByb3RvdHlwZQppbnQgR2V0V29yZENvdW50IChjaGFyICpzdHJpbmcsIGNvbnN0IGludCBTSVpFLCBjaGFyICZzcGFjZSwgaW50ICZzcGFjZUNvdW50LCBpbnQgJndvcmRDb3VudCk7CgppbnQgbWFpbigpIAp7Ci8vREFUQSBESUNUSU9OQVJZCgkvL0lucHV0Cgljb25zdCBpbnQgU0laRSA9IDEwMDsKCWNoYXIgc3RyaW5nW1NJWkVdOwoJY2hhciBzcGFjZSA9ICcgJzsKCQoJLy9PdXRwdXQKCWludCBzcGFjZUNvdW50ID0gMDsKCWludCB3b3JkQ291bnQgPSAwOwoKLy9JTlBVVAoJY2luLmdldGxpbmUgKHN0cmluZywgU0laRSk7CgkKLy9QUk9DRVNTCQoJd29yZENvdW50ID0gR2V0V29yZENvdW50KCBzdHJpbmcsIFNJWkUsIHNwYWNlLCBzcGFjZUNvdW50LCB3b3JkQ291bnQpOwoJCi8vT1VUUFVUCgljb3V0IDw8ICJVc2VyIGVudGVyZWQgU3RyaW5nOiIgPDwgZW5kbDsKCWNvdXQgPDwgc3RyaW5nIDw8IGVuZGwgPDwgZW5kbDsKCQoJY291dCA8PCAiVGhlcmUgYXJlICIgPDwgd29yZENvdW50IDw8ICIgd29yZHMiIDw8IGVuZGw7CgkKCXJldHVybiAwOwp9CgovL1dvcmRDb3VudCBEZWZpbml0aW9uCmludCBHZXRXb3JkQ291bnQgKGNoYXIgKnN0cmluZywgY29uc3QgaW50IFNJWkUsIGNoYXIgJnNwYWNlLCBpbnQgJnNwYWNlQ291bnQsIGludCAmd29yZENvdW50KQp7Cglmb3IgKGludCBjb3VudCA9IDA7IHN0cmluZ1tjb3VudF0gIT0gJ1wwJyA7IGNvdW50KyspCgl7CgkJaWYgKCooc3RyaW5nICsgY291bnQpID09IHNwYWNlKQoJCQlzcGFjZUNvdW50ICs9IDE7Cgl9CgkKCXdvcmRDb3VudCA9IHNwYWNlQ291bnQgKyAxOwoJCglyZXR1cm4gd29yZENvdW50Owp9Cg==