Ir para o conteúdo
HRMT

Caracteres acentuados

Mensagens Recomendadas

HRMT

Boas,

Quero fazer um programa que lê um texto do teclado e depois imprime o mesmo texto mas sem as vogais (incluindo as acentuadas). A parte das vogais sem acento é fácil, quando tem acento alguém me pode dizer como faço?

Obrigado desde já.

Editado por pmg
remover formatacao

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Depende do teu ambiente de desenvolvimento/trabalho.

Se tabalhares num ambiente de 8 bits provavelmente consegues "safar-te" com chars normais, se for de 16, 32, 64 bits tens de te meter com wchar_t.

Ou ainda, se no teu ambiente estiver tudo codificado em UTF-8 podes "safar-te" com char, mas é uma confusao tremenda.

Portanto ... pergunta #1: Qual é que o charset do teu ambiente de desenvolvimento? Como é que o teu ambiente de trabalho codifica o input? O metodo usado é o mesmo nos dois ambientes?


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
vitae182

No caso de ler um texto e no fim imprimi-lo, mas em vez de por as vogais, põe _

tenho assim:

#include <stdio.h>
#include <wchar.h>

int main(){
 wchar_t c;
 int i=0,j=0,x=0;
 wchar_t array[1000];
 while((c=getchar())!=EOF){
   if(c==97 || c=='e' || c=='i' || c=='o' || c=='u' ||
       c=='A' || c=='E' || c=='I' || c=='O' ||c=='U' || (c>128 && c<164)){
     c='_';
     x++;
   }
   array[i]=c;
   i++;
 }
 while(j<i){
   printf("%c", array[j]);
   j++;
 }

estou a usar o ubuntu, mas há caracteres acentuados que não aparecem na tabela ascii :/

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

estou a usar o ubuntu, mas há caracteres acentuados que não aparecem na tabela ascii :/

Por isso mesmo é que é importante saber qual o enconding dos dados. Deves ter essa informação nas preferências do terminal (já agora, experimenta fazer echo $LANG no terminal).

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.