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

(Resolvido) usando scanf


evandrolnr

Pergunta

Pessoal, boa tarde! Sou novo em linguagem C, e estou fazendo um treinamento!

Estou treinando para usar o Oracle ProC. O Oracle ProC que uso não tem a biblioteca <conio.h>

Por isto, estou usando como entrada de dados a função scanf()

Tenho um programa que recebe dois caracteres. O primeiro é solicitado e mostrado a seguir.

O segundo, durante a execução, não é solicitado (o programa pula o comando).

O que estou fazendo de errado? :huh:

/* Adivinha1z.c */
#include <stdio.h>
#include <stdlib.h>  /* para system() e rand()  */
int main()
{
    char resp; /* resposta do usuário */
    char resp1;

    printf("\n\nDigite uma letra:\n");
    scanf("%c",&resp);
    printf("\nVocê digitou %c",resp);

    printf("\n\nDigite uma letra:\n");
    scanf("%c",&resp1);
    printf("\nVocê digitou %c",resp1);

    return 0;
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Pessoal, descobri o que estava errado. O Enter ocupa um caracteres, portanto quando digito 'a'<enter> estou digitando dois caracteres. Para driblar este problema, o programa precisa prever um caractere enter. :rolleyes:

/* Adivinha1z.c */
#include <stdio.h>
#include <stdlib.h>  /* para system() e rand()  */
int main()
{
    char resp; /* resposta do usuário */
    char resp1;
    char enter;

    printf("\n\nDigite uma letra:\n");
    scanf("%c%c",&resp,&enter);
    printf("\nVocê digitou %c",resp);

    printf("\n\nDigite uma letra:\n");
    scanf("%c%c",&resp1,&enter);
    printf("\nVocê digitou %c",resp1);

    return 0;

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que isso deve funcionar também, e sem "prejudicar" seu código:

/* Adivinha1z.c */
#include <stdio.h>
#include <stdlib.h>  /* para system() e rand()  */
int main()
{
    char resp; /* resposta do usuário */
    char resp1;

    printf("\n\nDigite uma letra:\n");
    scanf("%c%*c",&resp);
    printf("\nVocê digitou %c",resp);

    printf("\n\nDigite uma letra:\n");
    scanf("%c%*c",&resp1);
    printf("\nVocê digitou %c",resp1);

    return 0;
}

Porém, não testei.

Abraços!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...