190k views
1 vote
The intention of this problem is to analyze a user input word, and display the letter that it starts with (book → B).

a. Create a function prototype for a function that accepts a word less than 25 characters long, and return a character.
b. Write the function definition for this function that evaluates the input word and returns the letter that the word starts with in capital letter (if it’s in small letters).
c. Create a function call in the main function, and use the function output to print the following message based on the input from the user. (Remember to have a command prompt in the main function requesting the user to enter any word.)

Computer starts with the letter C.
Summer starts with the letter S.

d. Make sure to consider the case where a naughty user enters characters other than the alphabet to form a word and display a relevant message.

%sb$ is not a word.
$500 is not a word.

e. Have the program process words until it encounters a word beginning with the character

1 Answer

3 votes

Answer:

Here is the C++ program:

#include<iostream> // to use input output functions

using namespace std; //to identify objects like cin cout

void StartChar(string str) { // function that takes a word string as parameter and returns the first letter of that word in capital

int i;

char c;

do //start of do while loop

{

for (int i = 0; i < str.length(); i++) { //iterates through each character of the word str

if(str.length()>25){ //checks if the length of input word is greater than 25

cout<<"limit exceeded"; } //displays this message if a word is more than 25 characters long

c = str.at(i); // returns the character at position i

if (! ( ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z' ) ) ) { //checks if the input word is contains characters other than the alphabet

cout<<str<<" is not a word!"<<endl; break;} //displays this message if user enters characters other than the alphabet

if (i == 0) { //check the first character of the input word

str[i]=toupper(str[i]); //converts the first character of the input word to uppercase

cout<<str<<" starts with letter "<<str[i]<<endl; } // prints the letter that the word starts with in capital letter

} cout<<"Enter a word: "; //prompts user to enter a word

cin>>str; //reads input word from user

}while(str!="#"); } //keeps prompting user to enter a word until the user enters #

int main() //start of the main() function body

{ string str; //declares a variable to hold a word

cout<<"Enter a word: "; //prompts user to enter a word

cin>>str; //reads input word from user

StartChar(str); } //calls function passing the word to it

Step-by-step explanation:

The program prompts the user to enter a word and then calls StartChar(str) method by passing the word to the function.

The function StartChar() takes that word string as argument.

do while loop starts. The for loop inside do while loop iterates through each character of the word string.

First if condition checks if the length of the input word is greater than 25 using length() method which returns the length of the str. For example user inputs "aaaaaaaaaaaaaaaaaaaaaaaaaaa". Then the message limit exceeded is printed on the screen if this if condition evaluates to true.

second if condition checks if the user enters anything except the alphabet character to form a word. For example user $500. If this condition evaluates to true then the message $500 is not a word! is printed on the screen.

Third if condition checks if the first character of input word, convert that character to capital using toupper() method and prints the first letter of the str word in capital. For example if input word is "Computer" then this prints the message: Computer starts with the letter C in the output screen.

The program keeps prompting the user to enter the word until the user enters a hash # to end the program.

The output of the program is attached.

The intention of this problem is to analyze a user input word, and display the letter-example-1
User Mcoav
by
6.1k points