• Matéria: Informática
  • Autor: Anônimo
  • Perguntado 7 anos atrás

Como criar uma função em C que recebe uma palavra por parâmetro e retorna o número de vogais que essa palavra possui.

Respostas

respondido por: jvsilvictorox7rfj
1


Bom, para isto você pode fazer uma comparação entre cada elemento dessa string (vetor de char), numa estrutura de repetição...


Segue código de exemplo em C:



#include <stdio.h>

int conta_vogais(char *texto)
{
    int i = 0;
    int contagem = 0;
   
    while(texto[i] != '\0')
    {
        if(texto[i] == 'a' || texto[i] == 'e' || texto[i] == 'i' ||
           texto[i] == 'o' || texto[i] == 'u' || texto[i] == 'A' ||
           texto[i] == 'E' || texto[i] == 'I' || texto[i] == 'O' ||
           texto[i] == 'U')
           {
               contagem++;
           }
          
        i++;
    }
   
    return contagem;
}


int main()
{
    char texto[100];
   
    printf("Informe o texto: ");
    fgets(texto, 100, stdin);
   
   
    printf("\nTexto: %s", texto);
    printf("Quantidade de vogais: %d vogais.",conta_vogais(&texto));


    return 0;
}







Anônimo: mas eu consegui fazer com o FOR e deu certo
jvsilvictorox7rfj: Dá uma conferida no seu for. Com o que mandei contou 4 certinho.
Anônimo: entendi o que eu estava fazendo de errado, eu não iniciei a contagem com zero, agora deu certo. Obrigado maseu tinha pedido para ter uma string como parâmetro e não para pedir ao usuário digitar a string
jvsilvictorox7rfj: A função tem uma string como parâmetro : int conta_vogais(char *texto)
jvsilvictorox7rfj: Você pode passar diretamente no main a string: conta_vogais("baunilha")
Anônimo: não deu certo
jvsilvictorox7rfj: Eu testei aqui. Está funcionando perfeitamente.
jvsilvictorox7rfj: printf("Quantidade de vogais: %d vogais.",conta_vogais("baunilha"));
Anônimo: digamos que algoritmo na minha vida é um desatre
jvsilvictorox7rfj: Calma, continue praticando :)
Perguntas similares