Error al comparar clave
Ahora esto, ok tengo un problema pero necesito ayuda, el lenguaje es C++
->
void Clave()
{
int Contador=0,Bonus=0,Ver;
char PassX;
char Clave_Usuario[30];
FILE *Usuarios;
Usuarios=fopen(“C:\AdminInventario\Usuarios.dat”,”r”);
puts(“ “);
printf(“ Clave: “);
Contador=0;
do
{ // Inicio do -Sobrescribe en la clave *-
PassX=getch();
Bonus=PassX;
if(Bonus!=13)
{ // Inicio if -Si es diferente de Enter-
printf(“*”);
Clave_Usuario[Contador]=PassX;
Contador++;
} // Fin fi -Si es diferente de Enter-
} // Fin do -Sobrescribe en la clave *-
while(Bonus!=13);
fflush(stdin);
fread(&UserX, sizeof(NuevoUsuario), 1 , Usuarios);
while(!feof(Usuarios))
if(strcmp(Clave_Usuario,UserX.UserPass)==0)
{ // Inicio if -Valida Clave-
puts(“ “);
printf(“ Acceso Permitido. Bienvenido! %s %s “,UserX.NombreUsuario,UserX.ApellidoUsuario);
printf(“ Cargando…”);
Sleep(1500);
MenuPrincipal();
} // Fin if -Valida Clave-
else
{ // Inicio else -Error de clave-
puts(“ “);
printf(“ Error en clave. Intente de nuevo! “);
Sleep(2000);
Usuario();
} // Fin else -Error de clave-
fclose(Usuarios);
} // Fin void -Ingreso a sistema por usuario-
Ok el problema aqui es que quiero que compara la clave de un fichero y de un char , la clave ‘que esta guardada en Clave_Usuario “No me la compara” con la cadena que esta guardada en un fichero, si le quito el ‘do’ donde sobrescribe * y le agrego gets(Usuario_Clave) despues de fflush(stdin) si me la compara y pasa exelente.
la cosa es de que como le hago para que sobrescriba *(asteriscos) y me lo compare con la clave de usuario guardada en el fichero.
Ayuda plzz!!!
En los puts hay un salto de linea.
-
Desarrollo
- General
| clave | 15 |
| comparación | 5 |
| error | 158 |
Desarrollo
Hola,
cáspita, se me pasó este hilo.
¿lo has sacado?
ai ya lo resolvi graxias!!!
Hola,
ok, hasta la próxima
ehmmmmm, no entiendo nada….
A mi también se me ha pasado el hilo…no podemos estár en todo
lo que hize fue generar una string y un grupo especial de clases para las letras, numeros fueran asteriscos!!!
borrar el topic, aqui solo se habla castellano