• Domingo 28 de Abril de 2024, 22:41

Autor Tema:  Convertir cadenas de texto  (Leído 1301 veces)

Xiskete

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Convertir cadenas de texto
« en: Martes 15 de Diciembre de 2009, 12:00 »
0
Hola soy nuevo en este foro y me lo han recomendado porque dicen que aqui encontrare respuesta a todas mis dudas. Me interesa hacer un programa que haga lo mencionado abajo en C++. El programa consiste en que introduces una frase y luego sale el menu y al apretar una de las opciones que salen abajo de este parrafo Convertira la frase tal y como pone abajo,

Ejemplo:
Introduzca frase:
HoLA mE llamo TONI gelabert(Aqui introduzco la frase como me de la gana)

Menu
Sale un menu y podemos elegir

Las funciones que quiero que haga:
Convertir a formato frase:
Hola me llamo toni gelabert
· Convertir a format título:
Hola Me Llamo Toni Gelabert
· Convertir a formato título inverso:
hOLA mE lLAMO tONI gELABERT

Tengo la funcion que convierte todo en mayusculas o todo en minusculas, pero como puedo hacer para elegir que cambie solo ciertas letras tal y como sale en el ejemplo?

Muchisimas gracias a todas vuestra futuras aportaciones


resuelto se puede borrar el tema

sanlegas2000

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Convertir cadenas de texto
« Respuesta #1 en: Miércoles 30 de Diciembre de 2009, 20:37 »
0
bueno ya lo resolviste seria bueno que pongas la solucion, por miestras dejo la mia. para convertir de minus a mayus ay una funcion, igual de minus a mayus.
ahora como cambiar de mayus a minu.
if(A[f]>=65 && A[f]<=90)// si el caracter es mayuscula
A[f]=A[f]+32;
else
         {
            
            B[f]=A[f]-32;
         }
// si no quieres decir es que minus entonces se le resta

undertakos

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
    • http://www.bespel.com
Re: Convertir cadenas de texto
« Respuesta #2 en: Jueves 31 de Diciembre de 2009, 06:22 »
0
Citar
#include <stdio.h>
#include <ctype.h> //<---aqui se encuentran las funciones toupper y tolower
 
int main()
{
   char cadena[] = "ESTO ES UNA CADENA DE PRUEBA";
   int i;
   
   for(i = 0; cadena; i++)
      cadena = tolower(cadena); //<--convierte a minusculas la cadena

   printf("%sn", cadena); //<---muestra por pantalla la cadena
   return 0;
}


en la primera haces  que tu cadena en tu posicion 1 lo pase a mayusculas y las demas a minusculas
a segunda puedes en un ciclo pregutar en que posicion estas ubicado en la cadena y si estas en un espacio el siguiente lugar le aplicas el de mayuscula
y el tercero pues ami se me ocurre de una manera muy complicada con muchos ifs pero no creo que sea la mas adecuada

haber que dicen los demas :P