Ir ao conteúdo
  • Cadastre-se

Função C


José Pascoal

Posts recomendados

Esta função nao está a funcionar quando abro o programa na linha de comandos e nao vejo o que possa estar errado. É uma função que recebe duas stringas e mostra as vogais presentes em cada uma. Na hora de executar nao aparecem as vogais.

 

void mostraVogais(char a[],char b[])
{
    int i;
    printf("Vogais na 1ª frase: ");
    for(i=0;i!='\0';i++)
        if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u'||a=='A'||a=='E'||a=='I'||a=='O'||a=='U')
            printf("%c ",a);
    printf("\n");
    printf("Vogais na 2ª frase: ");
    for(i=0;i!='\0';i++)
        if(b=='a'||b=='e'||b=='i'||b=='o'||b=='u'||b=='A'||b=='E'||b=='I'||b=='O'||b=='U')
            printf("%c ",b);
    printf("\n");
}

Link para o comentário
Compartilhar em outros sites

Ok!

Caramba

 if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u'||a=='A'||a=='E'||a=='I'||a=='O'||a=='U')

 

eu recomento você colocar isso tudo em uma estrutura switch

com a organização ficara bem mais fácil para você,

observe:


switch(a[i])
    {
    case 'a':
    case 'A':
        //Código se a ou A
    break;
    case 'e':
    case 'E':
        //Código se e ou E
    break;
    // assim em diante;
    default:
        //Código se não vogal
    }
Link para o comentário
Compartilhar em outros sites

O problema está no 'for':

for( i = 0; i != '\0'; i++ )
A variável 'i' está sendo comparada com caracter '\0' (NULL), que por sua vez, nada mais é do que o número 0 (zero) em decimal na tabela ASCII.

Ou seja, seria equivalente a:

for( i = 0; i != 0; i++ )
O 'for' nem chega a executar, pois a comparação já o invalida antes.

Troque para:

for( i = 0; a[i] != '\0'; i++ ) // para frase 1efor( i = 0; b[i] != '\0'; i++ ) // para frase 2
Mais informações sobre tabela ASCII.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...