El primer detalle a considerar: ignorando las pocas excepciones (como "using namespace std;") ese programa es C cuando tu estas aprendiendo C++. También se debe evitar el uso de la función "gets" y la biblioteca "conio" de Borland. Mas información en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.
Regresando al programa la forma mas sencilla es: 1) Cambias el primer carácter de forma manual (al parecer esta garantizado que este sea alfabético) y 2) Cambias a mayúsculas el primer carácter alfabético a continuación de un espacio.
Mas o menos así:
Pero de nuevo la preocupación es que no estas aprendiendo C++.
Un saludo
Regresando al programa la forma mas sencilla es: 1) Cambias el primer carácter de forma manual (al parecer esta garantizado que este sea alfabético) y 2) Cambias a mayúsculas el primer carácter alfabético a continuación de un espacio.
Mas o menos así:
Código (cpp) [Seleccionar]
char nombre[25];
int i;
puts("Tu nombre es?:");
gets(nombre); // gets puede fallar o leer una linea vacia ...
nombre[0] = toupper(nombre[0]);
for (i = 2; nombre[i] != '\0'; i++)
if (nombre[i - 1] == ' ' && isalpha(nombre[i]))
nombre[i] = toupper(nombre[i]);
Pero de nuevo la preocupación es que no estas aprendiendo C++.
Un saludo