Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/03/2014, 08:49
Avatar de AlmaVagabunda
AlmaVagabunda
 
Fecha de Ingreso: noviembre-2011
Ubicación: San Juan De Alicante, Valenciana, Spain, Spain
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Primera letra de cada palabra en mayúscula (String)

Cita:
Iniciado por leosansan Ver Mensaje
Tal vez algo como esto:

Código C++:
Ver original
  1. cout << "Nombre: ";
  2.         getline(is, de.nombre);
  3.         de.nombre[0]= toupper (de.nombre[0]);//Pone la primera letra en mayusculas
  4.         for (i = 1; i < de.nombre.length() ; i++)//Recorre el string en toda su longitud
  5.         {
  6.           if (de.nombre[i]!=' ')
  7.             de.nombre[i]= tolower (de.nombre[i]);
  8.           else (toupper (de.nombre[i++])
  9.           }


¡¡¡Saluditos!!!

Muchas gracias

Ese codigo es lo que buscaba jeje. Pero hay un fallo. Pone en mayusculas el siguiente a un espacio, pero despues pasa por ese caracter y lo pone en minusculas. Tengo que poner otra condicion que si el caracter anterior es un espacio no haga minusculas, pero al poner
Código:
if (de.nombre[i]!=' ' &&  de.nombre[i--]!=' ')
para que no haga mayusculas despues de una mayuscula, me hace cosas raras.
Llevo un dia raro y ahora no se como solucionar ese detalle jajaja, la cabeza esta pensando en otras cosas.
Voy a seguir viendo que tengo que retocar, pero si ves la solucion, estare muy agradecido jajaja