Guest - Raphael - Postado Maio 19, 2004 Denunciar Share Postado Maio 19, 2004 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bonoddr Postado Maio 19, 2004 Denunciar Share Postado Maio 19, 2004 Cara, não é recomendável, mas eu nunca enfrentei problemas quanto à isso. Acentua-se normalmente... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 == Douplus == Postado Maio 19, 2004 Denunciar Share Postado Maio 19, 2004 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
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
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.