Ir ao conteúdo
  • Cadastre-se

C Leitura de strings em C


blvsman

Posts recomendados

"Faça um programa que vai lendo cada caractere que o usuário digitar. Quando o usuário digitar o caractere 'x', o programa deve exibir todos os caracteres que foram digitados antes do 'x'."

Minha dúvida é: como eu leio o "enter" do usuário para que não digite até completar o vetor, tipo quando ele aperta o enter é pro programa encerrar e mostrar os caracteres antes do x. Pela minha intuição, devo utilizar ponteiros, mas como utilizar ?

#include <stdio.h>

void show( char *s );       // Protótipo da função show( char *s )
int Dec( char ch );         // Protótipo da função Dec( char ch ); Obs: Dec = Decimal

int main()
{
    char str[200];

    printf( "Entre com letras, x para encerrar\n" );
    /////////// duvida do scanf ???

return 0;
}

// Corpo da função show( char *s )
void show( char *s )
{
    for( int u=0; s[u]!='\0'; u++ )
    {
        // Só "letras" maiúsculas ou minúsculas
        if( ( Dec(s[u]) >= 65 && Dec(s[u]) <= 90) || (Dec(s[u]) >= 97 && Dec(s[u]) <= 122) )
            printf( "%c ", s[u] == 'x' ? ' ' : s[u] );
    }
putchar( '\n' );
}

// Corpo da função Dec( char ch )
int Dec( char ch )
{
    // Retorna o valor decimal do caracter. Tabela ASCII.
    return "%d", ch;
}

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

15 minutos atrás, blvsman disse:

"Faça um programa que vai lendo cada caractere que o usuário digitar. Quando o usuário digitar o caractere 'x', o programa deve exibir todos os caracteres que foram digitados antes do 'x'."

Minha dúvida é: como eu leio o "enter" do usuário para que não digite até completar o vetor, tipo quando ele aperta o enter é pro programa encerrar e mostrar os caracteres antes do x

 

É perfeitamente possível fazer do modo como está pensando, mas acho que está superestimando o enunciado.

Acho que a ideia aqui é bem mais simples: Pode ir lendo do modo normal, lendo e ecoando as letras uma a uma. E vai guardando as letrinhas. Pode ser um vetor e nem precisa alocar memória nem nada. 

 

Quando o cara digitar o tal 'x' você apenas mostra que guardou tudo e põe na tela tudo o que leu desde o início.

 

Só isso.

 

Se quer MESMO  ler até o 'x' sem mostrar e está usando Windows tem dois modos mais óbvios:

 

 

  • Curtir 4
Link para o comentário
Compartilhar em outros sites

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!