ohh yo tenia este
/* Este programa cambia el primer caracter de cada palabra
a su respectiva mayuscula. Valida caracter por caracter,
si se encuentra un espacio ' ' reemplaza el siguiente
caracter "indice+1" a su respectiva mayuscula. Concluye
hasta encontrar un fin de cadena '\0' que es el ultimo
caracter en una cadena (char)
*/
#include <ctype.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main()
{
int indice;
char nombre[25];
puts("Tu nombre es?: "), gets(nombre);
nombre[0]=toupper(nombre[0]);
for (indice=0; nombre[indice]!='\0'; indice++)
if (nombre[indice]==' ')
nombre[indice+1]=toupper(nombre[indice+1]);
puts("\n\nTu nombre es "), puts(nombre) ;
puts("\n\n");
system("PAUSE");
return 0;
}
pero mi profe dijo que el algoritmo hacia mucho trabajo "cambiando" cada espacio a mayuscula... pero no se como hacer que se ahorre ese "trabajo"
no se si me de a entender, el codigo hace su trabajo si pones cualquier nombre te devuelve las dos iniciales con mayuscula aunque pongas 10 espacios, pero el profe dijo que debia hacer el procedimiento mas rapido de otra manera, (no se cual es) podrian ayudarme?
/* Este programa cambia el primer caracter de cada palabra
a su respectiva mayuscula. Valida caracter por caracter,
si se encuentra un espacio ' ' reemplaza el siguiente
caracter "indice+1" a su respectiva mayuscula. Concluye
hasta encontrar un fin de cadena '\0' que es el ultimo
caracter en una cadena (char)
*/
#include <ctype.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main()
{
int indice;
char nombre[25];
puts("Tu nombre es?: "), gets(nombre);
nombre[0]=toupper(nombre[0]);
for (indice=0; nombre[indice]!='\0'; indice++)
if (nombre[indice]==' ')
nombre[indice+1]=toupper(nombre[indice+1]);
puts("\n\nTu nombre es "), puts(nombre) ;
puts("\n\n");
system("PAUSE");
return 0;
}
pero mi profe dijo que el algoritmo hacia mucho trabajo "cambiando" cada espacio a mayuscula... pero no se como hacer que se ahorre ese "trabajo"
no se si me de a entender, el codigo hace su trabajo si pones cualquier nombre te devuelve las dos iniciales con mayuscula aunque pongas 10 espacios, pero el profe dijo que debia hacer el procedimiento mas rapido de otra manera, (no se cual es) podrian ayudarme?