Answer to Question #194578 in C++ for Mpopo

Question #194578

Write a program that reads a person’s name in the following format: first name, then middle name or initial, and then last name. The program then outputs the name in the following format: last name, first name. middle initial. For example the input Mary Average User should produce the output User, Mary A.Your program should work the same and place a full stop after the middle initial even if the input did not contain a full stop. Your program should allow for users who give no middle name or initial. In that case, the output of courses contains no middle name or initial. For example, the input Mary User should produce the output User, Mary Your program should also accept names in lowercase, uppercase or a mix of lowercase and uppercase, and display that in the correct format, e.g. if the input is mArY average USER should produce the output User, Mary A.


1
Expert's answer
2021-05-17T13:58:55-0400
#include <iostream>
#include <string>


using namespace std;


void toLowerCase(char word[]);


int main(void){
	char inputString[20];
	char words[10][20]; 
	int i,j=0,counter=0;
	cout << "Enter the person's name in the following format: first name, then middle name or initial, and then last name:\n";
	gets(inputString);
	for(i=0;i<=(strlen(inputString));i++){
		if(inputString[i]==' '||inputString[i]=='\0'){
			words[counter][j]='\0';
			counter++;  
			j=0;    
		}
		else
		{
			words[counter][j]=inputString[i];
			j++;
		}
	}
	if(counter==3){
		toLowerCase(words[2]);
		toLowerCase(words[0]);
		words[1][0]=toupper(words[1][0]);
		printf("%s, %s %c.\n",words[2],words[0],words[1][0]);
	}else if(counter==2){
		toLowerCase(words[1]);
		toLowerCase(words[0]);
		printf("%s, %s\n",words[1],words[0]);
	}else if(counter==1){
		toLowerCase(words[0]);
		printf("%s\n",words[0]);
	}else{
		printf("Wrong input data.\n\n");
	}


	system("pause");
	return 0;
}


void toLowerCase(char word[]){
	word[0]=toupper(word[0]);
   for(int i=1; word[i]!='\0'; i++)
   {
      word[i]=tolower(word[i]);
   }
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
APPROVED BY CLIENTS