Ir para conteúdo

POWERED BY:

Arquivado

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

K3nshin

[Resolvido] Problema pra bloquear a digitação

Recommended Posts

Pessoal preciso de uma ajuda no codigo abaixo :

#include<stdio.h>
#include<stdlib.h>

void menu();

main()
{	   
  menu();				 
}

void menu()
{
  char opcao;
  int valor;
  
  do
	{
	  valor = 0;
	  printf("\tMenu\n\n");
	  printf("\t[H] Homem\n");
	  printf("\t[M] Mulher\n");
	  printf("Opcao : ");
	  scanf (" %c",&opcao);
	  
	  if ((opcao != 'H') && (opcao != 'h') && (opcao != 'M') && (opcao != 'm'))	 
		 {	 
			   system("cls");
			   printf("Invalido\n\n");
			   valor = 1;
			   system("pause");
			   system("cls");
		 }	 
	}
	while (valor !=0);
	
  system("pause");

}

Na hora de comoilar esse codigo se eu digitar por exemplo o valor 645ddd ele mostra 6 vezes a tela de opcao invalida , gostaria de limitar a variavel opção, o usuario ficaria bloqueado a digitar somente um caracter no CHAR opcao.

 

Alguem pode me dar uma ajuda ^^ http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

 

void menu();

 

main()

{

menu();

}

 

void menu()

{

char opcao;

int valor;

 

do

{

valor = 0;

printf("\tMenu\n\n");

printf("\t[H] Homem\n");

printf("\t[M] Mulher\n");

printf("Opcao : ");

opcao = getche();

 

if ((opcao != 'H') && (opcao != 'h') && (opcao != 'M') && (opcao != 'm'))

{

system("cls");

printf("Invalido\n\n");

valor = 1;

system("pause");

system("cls");

}

}

while (valor !=0);

 

system("pause");

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

é o getche(); pega qlqr tecla q o usuario digitar.

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.