CONTRASEÑA CON ASTERISCOS EN C

MARTEL
17 de Enero del 2010
!HOLA! ALGUIEN ME PODRIA AUXILIAR EN COMO O QUE FUNCION DEBO UTILIZAR PARA QUE UN PROGRAMA EN C A LA HORA DE QUE YO INTRODUZCA UNA CLAVE DE ACCESO ESTE ME LO MUESTRE EN ASTERISCO Y NO LOS NUMEROS QUE INTRODUZCO.
DE ANTEMANO !!MUCHAS GRACIAS!!

leo
17 de Enero del 2010
tienes que hacer lo siguiente:
n va a ser igual a la cantidad de digitos que tenga la clave
char clave[n];

for(int i=0;i<n;i++)
{
printf("Ingrese clave");
clave=getch();
printf("*");
}

bueno espero que te sea util
suerte

hvcdrake
17 de Enero del 2010
corrigiendo la respuesta de leo, esta si funciona bien
igual n el numero de caracteres de la contraseña
usen printf o cout da igual a me gusta mas cout XD

char clave[n];

cout<<"Ingrese clave";
for(i=0;i<=n;i++)
{
clave[i]=getch();
cout<<"*";
}

pitukilloloco
17 de Enero del 2010
tienes que hacer una rutina que te lea desde el teclado caracter por caracter usando una función como getch() la cual lee un caracter del teclado sin hacer "eco" en la pantalla. Lo malo es que este tipo de funciones son dependientes del sistema operativo y del compilador con el cual estes trabajando. Esta función viene incorporada en los compiladores de Visual C++, Turbo C, Borland C++ y Dev C++, todos ellos compiladores bajo Windows. Necesitas agregar el encabezado <conio.h> en tu programa para poder usarla

Caiman
17 de Enero del 2010
Este te sirve para crear un cursor y hacer lo que pides pero en modo gráfico.

#define Fin ''

void cursor(short int x)
{
do
{
delay(200);
setcolor(15);
line(x,107,x,115);
delay(200);
setcolor(0);
line(x,107,x,115);
}while(!kbhit());
}

char leer_opcion(short int x)
{
char caracter,clave[10];

fflush(stdin);
cursor(x);
caracter=getch();
imprime[0][0]=caracter;
imprime[0][1]=Fin;
setcolor(15);
outtextxy(x,105,"*"]);

if(caracter==Enter)
return(Fin);
else
return(caracter);
}