Funcion para convertir 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;
}
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;
}
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.