Ir ao conteúdo
  • Cadastre-se

Duvida no if


Gleison_NINJA

Posts recomendados

  • Membro VIP

int quant (char *str, int qtev,int qtec)

{

int i=0;

while (str != '\0')

{

if (str== 'a' || 'e' || 'i' || 'o' || 'u')

qtev ++;

else qtec++;

i++;

}

return i;

}

Fiz 2 mudanças ai ... n entendi o porque do ponteiro em char... c vai usar passagem de valores por referencia?!

Link para o comentário
Compartilhar em outros sites

esse if não está correto, pelo menos não na linguagem C.

Veja esse código:


#define VOGAL 1
#define CONSOANTE 2

int quant(char *str, char vogal_ou_consoante)
{
int i, qtd_v = 0, qtd_c = 0;

for(i=0; str[i]!='\0'; i++)
{
if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') qtd_v++;
else qtd_c++;
}

if(vogal_ou_consoante == VOGAL) return qtd_v;
else return qtd_c;
}

Outro detalhe:

Quando você coloca else você está dizendo que uma consoante é qualquer coisa diferente de uma vogal. Ou seja, espaços, números e outros caracteres serão considerados como consoantes!!!

Com alguns else if você consegue resolver isso.

abraços

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!