Ir ao conteúdo

Posts recomendados

Postado

Criei esse programa para ler uma palavra e imprima a quantidade de vogais que
compõe a palavra, meu compilado entra porém aparece o resultado 0, o que esta faltando?

 

 

#include <stdio.h>
#include <math.h>
#include <string.h>

int main(void)
{
char palavra[20];
int contador, numVogais = 0;

scanf("%s",palavra);

for(contador=0; contador < palavra[contador]; contador++){

if (palavra[contador]== 'A' || palavra[contador]== 'E'  || palavra[contador]== 'I' || palavra[contador]== 'O' || palavra[contador]== 'U'){
numVogais++;
}
}

printf("%d\n",numVogais);

return 0;
}

 

  • Obrigado 1
Postado
3 minutos atrás, isrnick disse:

Falta também verificar as vogais minúsculas.

E a condição de parada do for deveria ser palavra[contador] != '\0' .

Como ficaria daí, estou com bastante dificuldade!

  • Curtir 2
Postado

@wellingtonv1n1    sim , como disse o @isrnick   ,  o for está errado , e poderia ser assim  :

for(contador=0; contador < strlen(palavra); contador++    ){ 
    if(palavra[contador]== 'A' || palavra[contador]== 'a' || 
       palavra[contador]== 'E' || palavra[contador]== 'e' || 
       palavra[contador]== 'I' || palavra[contador]== 'i' ||
       palavra[contador]== 'O' || palavra[contador]== 'o' || 
       palavra[contador]== 'U' || palavra[contador]== 'u' ){
       numVogais++;
    }
}

 

  • Curtir 1
Postado
1 minuto atrás, devair1010 disse:

@wellingtonv1n1    sim , como disse o @isrnick   ,  o for está errado , e poderia ser assim  :


for(contador=0; contador < strlen(palavra); contador++){ 
    if(palavra[contador]== 'A' || palavra[contador]== 'E' || 
       palavra[contador]== 'I' || palavra[contador]== 'O' || 
       palavra[contador]== 'U' || palavra[contador]== 'a' ||
       palavra[contador]== 'e' || palavra[contador]== 'i' || 
       palavra[contador]== 'o' || palavra[contador]== 'u'){
       numVogais++;
    }
}

 

Ah sim, muito obrigado aos dois pela ajuda!

  • Curtir 1
  • Membro VIP
Postado

Sobre:

17 horas atrás, isrnick disse:

Falta também verificar as vogais minúsculas.

 

 

Lá no link já tem também:

Em 06/06/2019 às 00:40, isrnick disse:

E da biblioteca ctype.h use toupper() para converter os caracteres para letra maiúscula.

 

Nesse caso, converte os caracteres da palavra para maiúsculo... assim só precisando comparar com as vogais maiúsculas.

 

Adendo: o que é minúsculo passa para maiúsculo, mas o que é maiúsculo continua como está.

 

:D

 

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...