Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Programa em C
25-11-2014, 20:20
Mensagem: #4
RE: Programa em C
Pois, esse é o problema do scanf (e uma das razoes que não deve ser usado) (e também o problema de ler as questões de relance e esquecer pormenores ao responder Tongue )

O scanf deixa-te o enter q deste no buffer de entrada. Tens de limpar o buffer antes de pedires a tecla, ou então usa o codigo abaixo em vez do operacao = getchar() :

Código:
while ((operacao = getchar()) != EOF && operacao != '\n');

Basicamente, é um loop vazio que fica a ler o teclado até ler algo diferente de new line (que é, não por acaso, o caracter que é deixado pelo scanf e que estava a fazer o getchar() seguir logo) ou até detectar o fim de ficheiro (que pode ser provocado pelo teclado com um ctrl-z em windows ou ctrl-d em linux). Assim que carregues numa outra tecla qualquer, o loop termina e tens a tecla na var operação

Pedidos de ajuda via PM serão ignorados
Acordo ortográfico? Desconheço, obrigado Wink
Agradeço ao Chrome o facto de os meus posts nao terem acentos Evil
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Mensagem neste Tópico
Programa em C - Marco75 - 25-11-2014, 17:42
RE: Programa em C - Corvus - 25-11-2014, 18:18
RE: Programa em C - Marco75 - 25-11-2014, 18:36
RE: Programa em C - Corvus - 25-11-2014 20:20
RE: Programa em C - zee - 25-11-2014, 20:22
RE: Programa em C - Corvus - 26-11-2014, 10:29
RE: Programa em C - Marco75 - 26-11-2014, 10:59

Saltar Fórum:


Utilizadores a ver este tópico: 2 Visitante(s)