Dev - C++ - programa que convierte mayúsculas en minúsculas no funciona en CodeBlocks

   
Vista:

programa que convierte mayúsculas en minúsculas no funciona en CodeBlocks

Publicado por Josema (1 intervención) el 24/10/2017 20:10:36
Buenas, hice un programa que convierte mayúsculas en minúsculas, y quita las tildes.

Pero no me funciona en Code Blocks a pesar de poner en Settings> Editor>Encodings Settings -> UTF 8

Las tildes no las quita, el programa es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
 
string normalizar(string cadena)
{
    string salida;
    for (unsigned i= 0; i<cadena.length(); i++) {
        if (cadena[i] >= 'A' && cadena[i] <= 'Z')
            salida+= tolower(cadena[i]);
        else if (cadena[i] == char(0xC3)) {
            switch (cadena[++i]) {
                case (char(0xA1)): case (char(0x81)): salida+= 'a'; break;
                case (char(0xA9)): case (char(0x89)): salida+= 'e'; break;
                case (char(0xAD)): case (char(0x8D)): salida+= 'i'; break;
                case (char(0xB3)): case (char(0x93)): salida+= 'o'; break;
                case (char(0xBA)): case (char(0x9A)): case (char(0xBC)): case (char(0x9C)): salida+= 'u'; break;
                case (char(0xB1)): case (char(0x91)): salida+= "ñ"; break;
                default: salida+= (char) cadena[i];
            }
        }
        else salida+= cadena[i];
    }
    return salida;
}
 
int main (void) {
    string palabra;
    int contador= 1;
    while (cin >> palabra)
        cout << contador++ << ". " << palabra << " -> " << normalizar(palabra) << endl;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder