Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fr4nc0w

[Resolvido] Problema com a funcao Getchar() no Devc++

Recommended Posts

Dae galera, agora alem de php, java eu to tendo que aprende C, é complicado pra uma pessoa pegar tantas linguagens ao mesmo tempo mas a facul exige então força auiehauea..

 

Então seguinte, eu to tentando fazer esse programinha teste ler um char e exibir, estou apenas introduzindo em C, entendendo as funcoes as leituras e as saidas do C

 

o codigo é esse e está passando direto do "aff = getchar();", ele por acaso nao teria q parar ai para ler um caractere?

 

codigo abaixo:

 

#include<iostream>
#include <stdio.h>
using namespace std;
main ()
	 {
		 int nu;
		 char num[20];
		 char aff;
		 printf("Hello World \n");
		 printf("Digite um numero: ");
		 scanf("%d", ν);
		 printf("\n Numero Digitado foi: %d", nu);
		 printf("\n Digite uma letra: ");
		 scanf("%s", &num);
		 printf("\n Letra digitada foi: %s", num);
		 printf("\n Digite um Char: ");
		 aff = getchar();
		 printf("\n A letrad digitada foi %c :");
		 putchar(aff);
		 scanf("%d");		 
	 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o bendito buffer de entradas.

Coloquei um getchar que retira o "enter" do buffer.

 

#include<iostream>
#include <stdio.h>
using namespace std;
main ()
	 {
		 int nu;
		 char num[20];
		 char aff;
		 printf("Hello World \n");
		 printf("Digite um numero: ");
		 scanf("%d", ν);
		 printf("\n Numero Digitado foi: %d", nu);
		 printf("\n Digite uma letra: ");
		 scanf("%s", &num);
		 printf("\n Letra digitada foi: %s", num);
		 getchar();
		 printf("\n Digite um Char: ");
		 aff = getchar();
		 printf("\n A letrad digitada foi:");
		 putchar(aff);
		 scanf("%d");	
	 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

maldito enter "/

Qual a diferença entre getchar() e getch()? Além das bibliotecas :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow, que bacana buffer de entrada.

 

Alguém pode me dizer em que usa e no que mais influencia isso? já que bati de frente com ele nesse momento, vou acabar me batendo de novo.

 

Vlw mesmo galera, logo mais a noite já testo em casa e digo se entendi a parada ou não.

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

A entrada de dados em C é bufferizada.

Isso quer dizer que quando voce digita no teclado, os "valores" digitados não são transmitidos diretamente a memória onde a variável foi alocada.

Esses valores ficam armazenados no buffer de entrada que recebe e os entrega a alguma função de leitura.

Esse: scanf("%d", ν); retira do buffer um número inteiro e quando voce digita enter esse caracter permanece no buffer.

Por isso o buffer fica "sujo" e influencia a próxima leitura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw meu filho...ajudo mesmo..

 

inclusive meu professor falou uma boa:

 

scanf("%d".&7var)

 

 

7 eh a posicao relativa da variavel no programa.

 

segundo ele nao precisa de buffer qndo se faz isso.

 

flw e vlw mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

7 eh a posicao relativa da variavel no programa.

Como assim, posição relativa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.