Test Foro de elhacker.net SMF 2.1

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.


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



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



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
#include <locales.h>

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

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