Ir ao conteúdo

Função: fflush(stdin)


samoel_oliveira

Posts recomendados

Postado

Bom eu sou um iniciante bem leigo em linguagem C e queria saber se era possível fazer o programa sem essa função e pra que mesmo serve ela? pois eu estava tentando fazer um programa e um monitor que estava me ajudando disse que eu só ia conseguir fazer o programa rodar da forma certa utilizando essa função:fflush(stdin)

O enunciado do programa é esse:

Escrever um algoritmo que leia o nome e o sexo de 5 pessoas e informe o nome e se ela é homem ou mulher. No

final informe total de homens e de mulheres.

O código fonte é esse:

#include <stdio.h>
main()
{
int quant_hom=0,quant_mul=0,quant_tot=1;
char nom,sexo;
while (quant_tot<=5){
printf("\ndigite o seu nome:");
scanf("%c",&nom);
printf("\ndigite o seu sexo[m=masculino e f=menino]:");
fflush(stdin);
scanf("%c",&sexo);
quant_tot++;
if (sexo=='f'){
quant_mul++;}
if (sexo=='m'){
quant_hom++;}
}
printf("\no total de homens e:%i",quant_hom);
printf("\no total de mulheres e:%i",quant_mul);
getch();
}

Postado

Ola, Samuloko!

Também estou iniciando em programação e da uma olhada ai e veja o que acha, falou!

fflush(stdin) é usado para limpar o buffer do teclado!

Podemos usar para este problema também, o operador de supressão do scanf, (%*c).

scanf("%c%*c",&exemplo);

Postado

também podes utilizar a função

 getche() 

Se não me engano é isso, porém ele pega apenas o primeiro digito

ou seja um caracter apenas

Arquivado

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

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!