Funcion para convertir minusculas a mayusculas en C++

Hoy tocaremos el tema de conversion de minusculas a mayusculas en C++

Tanto convertir letras a mayúscula de forma automática como mayúsculas a minúsculas es una acción frecuente cuando estamos trabajando con textos, más aun si el texto está ingresado por el usuario y queremos mejorarlo, pasemos de una vez al código, o para ser más exacto a la función porque el cambio se hace con una única función, luego también veremos la función que vuelve el texto a minúscula (esta es aún más útil si el usuario final tiene la mala práctica de escribir todo en mayúscula).

Código para convertir letra minúscula a mayúscula con C++



#include <iostream>
#include <cctype> // Esta librería contiene la función toupper

using namespace std;
string texto= "texto en minuscula";
int largo;

int main(){

largo = texto.size(); // Tomamos la cantidad de letras o caracteres que tiene nuestra variable texto

for (int letra = 0; letra < largo; ++letra) /* La variable letra hará que nuestra función toupper case se ejecute tantas veces como el largo de nuestro texto, desde la primera letra hasta la última */
{
texto[letra] = toupper(texto[letra]); /* Guardamos en la variable de texto una a una de las letras ahora en mayuscula con la funcion toupper(); */
}

cout << texto << endl;

cin.get(); // Detenemos el programa sin el feo mensaje que sale al usar system("pause");
return 0;
}


Ejemplo de minuscula a mayuscula

Convertir solo la primera letra del texto a mayúscula en C++



En ese caso es incluso más fácil ya no necesitaremos el bucle for solo le indicamos que queremos cambiar la primera letra, y como string básicamente lo vamos a tratar como un array al ser un puntero hacia un array entonces la primer letra o valor se ubica en la casilla 0 así que queda de la siguiente forma.

#include <iostream>
#include <cctype>

using namespace std;
string texto= "texto en minuscula";
int largo;

int main(){

largo = texto.size();
texto[0] = toupper(0);
cout << texto << endl;

cin.get();
return 0;
}


Quizá se pregunte porque tenemos que utilizar este bucle eso se debe a que originalmente toupper está hecho para ser utilizado más fácilmente con variables de tipo char y no de tipo string, pero los beneficios del string sobre el char ya los conocemos.

Código para convertir letras mayúsculas a minúsculas.



#include <iostream>
#include <cctype> // Esta librería contiene la función toupper

using namespace std;
string texto= "TEXTO EN MAYUSCULAS";
int largo;

int main(){

largo = texto.size(); // Tomamos la cantidad de letras o caracteres que tiene nuestra variable texto

for (int letra = 0; letra < largo; ++letra) /* La variable letra hará que nuestra función toupper case se ejecute tantas veces como el largo de nuestro texto, desde la primera letra hasta la última */
{
texto[letra] = tolower(texto[letra]); /* Guardamos en la variable de texto una a una de las letras ahora en minuscula con la funcion tolower(); */
}

cout << texto << endl;

cin.get();
return 0;
}


Ejemplo de mayuscula a minuscula

Como vemos es casi lo mismo solo cambia la función toupper por tolower. En ingles uppercase significa letra mayúscula y lowercase letra minúscula, de ahí los nombres de estas funciones.
Comentarios y preguntas
Jahred :
Será que me pueden ayudar. Necesito un programa de tipo char y que sea una función. Debe hacer que un carácter minúscula lo haga mayúscula
Codigazo:
Hola Jahred, con el codigo de arriba se podia hacer, solo necesitaba cambiar la variable de tipo stringa char, la función que se usa es "toupper();".

#include <iostream>
#include <cctype>

using namespace std;
char texto[] = "texto en minuscula";
int largo;

int main(){
largo = sizeof(texto);
for (int letra = 0; letra < largo; ++letra)

{
texto[letra] = toupper(texto[letra]);
}

cout << texto << endl;
cin.get();

return 0;

}