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

[Resolvido] O que esta faltando?


cleyvison

Pergunta

:wacko:

Boa noite,

Fiz este codigo, ele funciona mas não pode ter espaços entre as palavras, quer dizer se eu digitar abacaxi ele substitui e conta mas, se eu digitar eu amo abacaxi, ele so considera o priemeiro grupo ou seja, a palavra eu.

Como resolver isso?

/*identifica os caracteres "a " digitados no texto, substitui por "b" e mostra o numero de substituições*/

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    char str[100];
    int i, cont;
    cont=0;
    i=0;
    printf ("Digite uma frase:");
    scanf ("%s",&str);
    for (i=0;i<100;i++)
    {
        
        if (str[i]=='a')
        {
            cont=cont+1;
            str[i]='b';
        }
    }  
    printf ("\n%s\n",str);
    printf ("%i\n",cont);
  
  system("PAUSE");    
  return 0;
}

Editado por cleyvison
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

resolveu apenas incluir a primeira linha mesmo porque eu não entendi a outra e tb não sabia onde coloca-la

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


int main(int argc, char *argv[])
{
    char str[100];
    int i, cont;
    cont=0;
    i=0;
    printf ("Digite uma frase:");
    fgets(str, 100, stdin);   /*linha adicionada, funcionou mas, alguém poderia explicar os paremetros?*/
    for (i=0;i<100;i++)
    {
        
        if (str[i]=='a')
        {
            cont=cont+1;
            str[i]='b';
        }
    }  
    printf ("\n");
    printf ("%s",str);
    printf("\n");
    printf ("%i\n",cont);
  
  system("PAUSE");    
  return 0;
}
esta linha eu não entendi e não sei onde colocar
str[strlen(str) - 1] = '';

Editado por cleyvison
Link para o comentário
Compartilhar em outros sites

  • 0

Só vai precisar da string.h caso você utilize a segunda linha.

Pois então, os parâmetros:

str - A string que você vai receber os dados

100 - A quantidade de bytes que é para ler (como a string possui o tamanho 100, queremos ler até o final dela)

stdin - A stream de entrada, o que o usuário digita vai para esta stream

A segunda linha:

O fgets coloca um caractere '\n' (nova linha), por isso a remoção dele é, às vezes, melhor.

Tem uma explicação para isto, mas dizendo assim já da para você entender.

De qualquer forma, não precisa utiliza-lâ, principalmente em um programa assim.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0
Só vai precisar da string.h caso você utilize a segunda linha.

Pois então, os parâmetros:

str - A string que você vai receber os dados

100 - A quantidade de bytes que é para ler (como a string possui o tamanho 100, queremos ler até o final dela)

stdin - A stream de entrada, o que o usuário digita vai para esta stream

A segunda linha:

O fgets coloca um caractere '\n' (nova linha), por isso a remoção dele é, às vezes, melhor.

Tem uma explicação para isto, mas dizendo assim já da para você entender.

De qualquer forma, não precisa utiliza-lâ, principalmente em um programa assim.

Abraços.

Valeu abraços e bom fim de semana!!!!!!

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,3k
×
×
  • Criar Novo...