Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Caracteres não lidos

Ao executar o programa na prompt de Comando do Windows ela não lê caracteres especiais como ´~ç, é possível alterar isso?

4 respostas

Isso acontece quando a formatação do C++ não está setada corretamente, para alterar isso você deve incluir a lib locale

#include <locale>

Em seguida na sua main adicione a seguinte linha de código

setlocale(LC_ALL, "")

Isso vai trocar a formatação do C++ para o idioma do seu sistema.

E certifique-se que o encoding do seu arquivo de código esteja em Western (ISO-8859-1)

Obrigado por comentar... então Eu fiz as alterações porém não resolveu...

#include<iostream>
#include <locale>
using namespace std; //usando as funções padrão de std, assim não preciso colocar antes dos comandos

int main(){
setlocale(LC_ALL, "");

    cout <<"********************************************" << endl;
    cout <<"******Bem-vindo ao jogo da adivinhacao******" << endl;
    cout <<"********************************************" << endl;

    int numero_secreto = 58;
    cout <<"O numero secreto eh é é "<<numero_secreto<<". Nao diga"<< endl;

    int chute;
    cout <<"Qual eh seu chute? ";
    cin >> chute; //carrega o valor inserido na váriável chute
    cout << "O valor do seu chute eh: " << chute << endl;

    bool acertou = chute == numero_secreto; //a variável boleana que guarda o valor caso o chute do usuáio estteja correto
    bool maior = chute > numero_secreto; //a variável verifica se o chute foi maior

    if (acertou){ //verfica se o usuário acertou
     cout << "Parabens vc acertou o numero secreto"<< endl;   
    }

    else if (maior){
      cout <<"Seu chute foi maior que o numero secreto" << endl; 
    }

    else {
        cout <<"Seu chute foi menor que o numero secreto" << endl;
    }
}

E também alterei as configurações do Encoding:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Olá! Tente o comando

chcp 65001

dentro do prompt de comando do Windows, acredito que vai funcionar!

Talvez você precisa fazer isso toda vez que abrir o terminal, não tenho certeza!

Olá Guilherme, obrigado por comentar. Quando eu uso o chcp 65001, ele funciona bem, exceto que alguns acentos não são lidos.

Para corrigir isso, eu abro o código c++ no bloco de notas e salvo-o como UTF-8 (na codificação), aí da certo.

Valeu.