Practice Exercises)

Objective

These exercises will involve practice with C-style strings, as well as some of the libraries that involve manipulations on characters and strings.

Task

Write the following exercises, each in a separate file. Filenames should be: (Note that the filenames are all lowercase)

Exercise 1

Filename: textline.cpp

This is based on programming challenge 6 in chapter 10 (page 587) of the textbook, but contains some additional features.

Functions

Write the following functions. Each of these functions should have a single parameter -- accepting a c-style string as an argument. The function should only do what is specified (note that none of these functions do any output to the screen). Your functions should use const in the prototype wherever it is appropriate:
  1. Write a function that counts and returns the number of vowels in the string. (For the purposes of this exercise, we are talking about the standard 5 vowels -- A, E, I, O, U).
  2. Write a function that counts and returns the number of consonants in the string.
  3. Write a function that converts the string to all lowercase.
  4. Write a function that converts the string to all uppercase.

Menu program

Write a main program that performs the following steps:
  1. Prompt the user to enter a string, and let them type it in. This could be an entire sentence, with the newline indicating the end of the string. You may assume the string will be no more than 100 characters, so declare your array accordingly.
  2. Display the following menu:
     A)  Count the number of vowels in the string
     B)  Count the number of consonants in the string
     C)  Convert the string to uppercase
     D)  Convert the string to lowercase
     E)  Display the current string
     F)  Enter another string
    
     M)  Display this menu
     X)  Exit the program
    
  3. Enter a loop, allowing the user to type in a menu choice each time. Loop should continue until the user enters the command to exit. Upper and lowercase letters should be allowed for the menu choices.

Sample Run

(user input is underlined, to distinguish it from output)
Input a line of text, up to 100 characters:
> The quick brown fox jumped. The lazy dog, he was jumped over.

A)  Count the number of vowels in the string
B)  Count the number of consonants in the string
C)  Convert the string to uppercase
D)  Convert the string to lowercase
E)  Display the current string
F)  Enter another string

M)  Display this menu
X)  Exit the program

Enter your menu selection: a
Number of vowels: 16

Enter your menu selection: B
Number of consonants: 31

Enter your menu selection: c

Enter your menu selection: e
The string:
THE QUICK BROWN FOX JUMPED. THE LAZY DOG, HE WAS JUMPED OVER.

Enter your menu selection: D

Enter your menu selection: E
The string:
the quick brown fox jumped. the lazy dog, he was jumped over.

Enter your menu selection: f
Input a new line of text, up to 100 characters:
> Mary Had A Little Lamb. His name was Fleecy Pete.

Enter your menu selection: C

Enter your menu selection: e
The string:
MARY HAD A LITTLE LAMB. HIS NAME WAS FLEECY PETE.

Enter your menu selection: d

Enter your menu selection: E
The string:
mary had a little lamb. his name was fleecy pete.

Enter your menu selection: b
Number of consonants: 24

Enter your menu selection: a
Number of vowels: 14

Enter your menu selection: x
Goodbye

Exercise 2

Filename: piglatin.cpp

Write a function, called ToPigLatin, which is described below:

Sample Runs

(user input is underlined, to distinguish it from output)

Sample Run 1

Input 5 words: Flower yellow bypass apple Igloo

Pig Latin version of the 5 words:
Owerflay ellowyay ypassbay appleway Iglooway

Sample Run 2

Input 5 words: string Hamburger Rhythm queen zippitydoodah

Pig Latin version of the 5 words:
ingstray Amburgerhay Ythmrhay ueenqay ippitydoodahzay

Requirements for both programs