5
respostas

Problema de acentuação no Dev C++ e meu número n~

Quando compilo, o código sai com problemas na acentuação, como corrigir isso no devc++? E meu número secreto não sai o 42 quando compilo, sai um outro número diferente, porque? Estou usando esse código

#include <stdio.h>

int main () {

// imprime o cabeçalho do nosso jogo
printf ("************************************\n");
printf ("* Bem vindo ao jogo de adivinhação *\n");
printf ("************************************\n");

int numerosecreto = 42;

printf ("O número %d é o número secreto. Não conta para ninguém", numerosecreto);

}

sai assim:


  • Bem vindo ao jogo de adivinhaþÒo *

O n·mero 1716013616 Ú o n·mero secreto. NÒo conta para ninguÚm

5 respostas

Boa tarde, Bruna!

A linguagem C trabalha com caracteres da tabela ASCII. Alguns compiladores não utilizam a versão estendida da tabela, o que pode ter causado esse erro. Contudo, existem maneiras de fazer isso sem depender do compilador, mas tem que pesquisar.

Sobre o valor de "numerosecreto", só testando para entender o motivo desse valor aleatório. Primeiramente, eu tiraria todas letras que possuem acento e testaria. Caso, o erro prosseguisse, tentaria utilizar o %i em vez de %d.

Utilizei o %i e o erro persistiu, não sei mais o que fazer

use o comando setlocale(LC_ALL,"") no inicio do programa, que está contido na biblioteca locale.h, se quer saber mais sobre o comando procure o manual de uso.

Boa noite, Bruna!

Eu fiz o teste no DevC++ também e o resultado deu certo (com o problema de acentuação ainda). Tenta apagar todos os arquivos gerados pelo DevC++, coloca em outro diretório e compila novamente. Está muito estranho esse resultado.

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

Olá Bruna,

Você irá precisar alterar o locale atual do aplicativo console para poder permitir caracteres especiais e acentuações.

Para isso, faça o seguinte:

#include <locale.h> //inclua a biblioteca no início de seu arquivo

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

    //...continuação do código.
}

Isso será suficiente para permitir a exibição de caracteres especiais.