If you're able to split each 'word' into separate strings, then you're already half way there
use the toupper function on the first character of that word, to generate the uppercase equivalent of that character (If an uppercase equivalent is available).
word[0] = toupper( word[0] );
This won't solve the problem of converting all letters in acronyms to uppercase; eg, a string of "p.o. box" will only be converted to "P.o. Box", since there is no whitespace character between the 'p' and the 'o'.
- Depending on the exact requirements of your assignment, you may need to do some additional string parsing for characters which follow punctuation.