Ir para conteúdo
Fórum Script Brasil
  • 0

Não conta frase inteira,só a primeira palavra,porque ?


Florzinha

Pergunta

Olá pessoal,tdo bem?

Estou tendo um problema...meu programa está compilado e roda normalmente,mas ao invés de ler os caracteres da frase inteira,está lendo apenas da primeira palavra.

Será que alguém consegue enxergar onde está o erro? Por favor ?Obrigada !!!

<uso Dev C++ 4.9.9.2,caso essa informação seja importante>

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main()
{
    int x,tam,ca=0,ce=0,ci=0,co=0,cu=0;
    char frase[100];
    printf("Digite uma frase: ");
    scanf("%s",&frase);
    
    tam = strlen(frase);
    
    for (x=1; x<=tam-1; x++)
    {
     if (frase[x] =='a' || frase[x]=='A')
     ca++;
       else
        if (frase[x] == 'e' || frase[x] == 'E')
        ce++;
          else
            if (frase[x] == 'i' || frase[x] == 'I')
            ci++;
              else
                if (frase[x] == 'o' || frase[x] == 'O')
                co++;
                  else
                    if (frase[x] == 'u' || frase[x] == 'U')
                    cu++;
     }
     
    printf("\nA frase tem:\n");
    printf("\n%d letra a",ca);
    printf("\n%d letra e",ce);
    printf("\n%d letra i",ci);
    printf("\n%d letra o",co);
    printf("\n%d letra u",cu);
    printf("\n\n");
system("pause");
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Olá, Florzinha.

Seja bem-vinda ao fórum. :)

O problema do seu código não está na análise, mas na entrada dos dados. Sua chamada scanf("%s",&frase) faz com que a entrada de dados seja considerada apenas até que se encontre o primeiro espaço. Mesmo que você continue digitando.

Para corrigir, basta trocar por scanf("[^\n]",&frase). Esse argumento fará com que a função considere todas as letras até o ENTER que faz a função retornar. Experimente. Deve dar certo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...