Ir para conteúdo
Fórum Script Brasil
  • 0

Acentuação Na Linguagem C Ou C++


Guest - Raphael -

Pergunta

Guest - Raphael -

Gostaria de saber se é possível acentuar strings em c ou c++... Se alguém tiver alguma idéia de como se faz isso, vou ficarm muito agradecido...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi,

já tive que enfrentar este problema, a solução que encontrei para este foi uma função que retorna o valor do carectere acentuado desejado. Veja:

/*VALORES ANTES DE SEREM CORRIGIDOS*/

#define AMAE -63
#define EMAE -55
#define IMAE -51
#define OMAE -45
#define UMAE -38

#define AAE -31
#define EAE -23
#define IAE -19
#define OAE -13
#define UAE -6


#define CMCE -57
#define CCE -25


#define AMTE -61
#define OMTE -43
#define NMTE -47

#define ATE -29
#define OTE -11
#define NTE -15


/*VALORES CORRETOS*/

//Á = -75
char ama = -75;

//É = -112
char ema = -112;

//Í = -42
char ima = -42;

//Ó = -32
char oma = -32;

//Ú = -23
char uma = -23;

//á = -96
char aa = -96;

//é = -126
char ea = -126;

//í = -95
char ia = -95;

//ó = -94
char oa = -94;

//ú = -75
char ua = -93;


//Ç = -128
char ccm = -128;

//ç = -121
char cc = -121;


//Ã = -57
char amt = -57;

//Õ = -27
char omt = -27;

//não = -91
char nmt = -91;

//ã = -58
char at = -58;

//õ = -28
char ot = -28;

//não = -92
char nt = -92;


/*FUNÇÃO QUE RETORNA CARACTERES ACENTUADOS*/

char retlet(int lete)
{
char letc;

switch (lete)
{
case AMAE:
letc = ama;
break;

case EMAE:
letc = ema;
break;

case IMAE:
letc = ima;
break;

case OMAE:
letc = oma;
break;

case UMAE:
letc = uma;
break;


case AAE:
letc = aa;
break;

case EAE:
letc = ea;
break;

case IAE:
letc = ia;
break;

case OAE:
letc = oa;
break;

case UAE:
letc = ua;
break;


case CMCE:
letc = ccm;
break;

case CCE:
letc = cc;
break;


case AMTE:
letc = amt;
break;

case OMTE:
letc = omt;
break;

case NMTE:
letc = nmt;
break;


case ATE:
letc = at;
break;

case OTE:
letc = ot;
break;

case NTE:
letc = nt;
break;
}
return letc;
}


/*FUNÇÃO QUE CRIEI PARA TESTAR SE ESTAVA FUNCIONANDO CORRETAMENTE*/

void prateste(void)
{
char carag[10] = {'Á', 'É', 'Í', 'Ó', 'Ú', 'á', 'é', 'í', 'ó', 'ú'};
char carc[2] = {'Ç', 'ç'};
char cart[6] = {'Ã', 'Õ', 'não', 'ã', 'õ', 'não'};


cout<<"\n\nCARACTERES COM ACENTO AG"<<retlet('Ú')<<"DO: \n"<<endl;
for (int i = 0; i < 10; i++)
cout<<retlet(carag[i])<<endl;

cout<<"\n\nCARACTERES COM CEDILHA: \n"<<endl;
for (int i = 0; i < 2; i++)
cout<<retlet(carc[i])<<endl;

cout<<"\n\nCARACTERES COM TIL: \n"<<endl;
for (int i = 0; i < 6; i++)
cout<<retlet(cart[i])<<endl;

cin.get();
}

É só usar a função retlet para mostrar um caractere acentuado na tela, ex.:

cout<<retlet('á')<<endl;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...