Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ElectronicEnginner en 27 Abril 2018, 03:39 am



Título: SOLUCIONADO
Publicado por: ElectronicEnginner en 27 Abril 2018, 03:39 am
HOLA MUCHAS GRACIAS YA SOLUCIONE EL TEMA, PUEDEN BORRARLO


Título: Re: Convertir string de minusculas a mayusculas en C
Publicado por: Kenji-chan en 27 Abril 2018, 04:01 am
en realidad para pasar a mayúsculas usando el código ascii hay que restarle 32 ya que esa es la la separación que tiene la 'A'(65) de la 'a'(67)

puedes hacer una función que se que se llame upper(char* str) que reciba un string y le reste 32  a cada carácter luego puedes tratar los casos especiales como son los acentos y la ñ en la misma función claro


Título: Re: Convertir string de minusculas a mayusculas en C
Publicado por: Serapis en 27 Abril 2018, 16:59 pm
Como te dice Kenji-chan, pero precisando un poco más...

Crea un array con las 256 letras, marca con 1 aquellas que pueden convertirse en mayúsculas o minúsculas, el resto queda con valor 0.

Luego tu función simplemente será un bucle, que recorre cada caracter del string, comprueba si está en el array de 'CaracteresCapitalizables' y hace la conversión. Aquí un sencillo opseudocódigo, para resolver ambos casos en la misma función.

Código:
Funcion Capitalizar(string Texto, buleano ToUpper)
    Si ToUpper = TRUE
        Por cada letra en el Texto
            Si CaracteresCapitalizables(letra) = 1  // o TRUE, etc...
                ... Toupper, para dicha letra.
            Fin si
        Siguiente
    Sino
        // mismo código, pero aplicando ToLower

    Fin si
Fin funcion

Código:
ToUpper
Si Letra and 32 luego  // tiene el bit de minúscula
   Letra = Letra xor 32  // pués se lo quitamos.
Fin si

Código:
ToLower:
Letra = Letra or 32 //ponemos el bit de minúsculas... si ya lo tenía, no cambia nada,
    // no necesitamos en este caso perder el tiempo verificando si lo tenía o no.


Título: Re: Convertir string de minusculas a mayusculas en C
Publicado por: MAFUS en 27 Abril 2018, 19:19 pm
Más fácil:
Incluir el
Código:
#include <locales.h>

Y como primera instrucción ejecutable del main:
Código:
setlocale(LC_ALL, "spanish");

Así todo lo referente a conversiones, representaciones, monedas, etc. pasará al formato español. Eso incluye ñ, tildes, etc.