[ Foro de C ]

Problema con programa LOGIN en C

15-Nov-2021 23:26
Invitado (oli)
2 Respuestas

Tengo este programa en C que solicita usuario y contraseña numerica, pero no funciona.
Les dejo el codigo así lo miran:


/*
   INGRESO A HOMEBANKING CON 3 INTENTOS
*/

#include <stdio.h>


#define LONGITUD 80

int main()
{
   // Crear variables auxiliares
  int ingreso;  // 80 para el usuario y 1 para el caracter nulo (espacio o enter)
  int clave=1234; //= 1234;
 
  ingreso = oso;
 
  printf("\n\tBIENVENIDO AL HOMEBANKING.");
 
  printf("\n\tINGRESE SU USUARIO : ");
  gets(ingreso);
 
 
if (ingreso==1234){
printf("\n\tBIENVENIDO OSO!\n");
printf("\n\tINGRESE SU CLAVE : ");
    gets(clave);
    if(clave==0){
    printf("WELCOME.");
 } else {
printf("\n\tUsuario y/o clave incorrectos!");
     }
}
   return 0;
}


16-Nov-2021 10:45
Nacho Cabanes (+84)

Un número no se puede pedir con "gets", sino con "scanf".

Mira aquí:

https://www.aprendeaprogramar.com/mod/resource/view.php?id=600
 


16-Nov-2021 16:19
any asc

Gracias Nacho. Tengo otra consulta sobre el mismo programa que estoy diviéndolo por partes para solucionarlo e ir entendiéndolo.
El comienzo del programa, sigo teniendo inconvenientes para que me tome el usuario. Ya intenté declarando el usuario y contraseña, también lo pongo como define y no hay manera de que me deje acceder correctamente.

Vuelvo a pegar el fragmento del programa con el que ahora tengo inconveniente:

// INGRESO A HOMEBANKING CON 3 INTENTOS

#include <stdio.h>
#define INGRESO 'oso'
#define CLAVE '1234'

#define LONGITUD 20

int main()
{
  // Crear variables auxiliares
 char ingreso[LONGITUD+1];  // 80 para el usuario y 1 para el caracter nulo (espacio o enter)
 int clave=1234; //= 1234;

// ingreso = "oso";

 printf("\n\tBIENVENIDO AL HOMEBANKING.");

 printf("\n\n\tINGRESE SU USUARIO : ");
 scanf("%c", &ingreso);
 
 if (ingreso==INGRESO){
       printf("\n\tBIENVENIDO OSO!\n");
} else {
printf("\n\tUSUARIO INCORRECTO");
}

return 0;
}






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)