elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Programa usuario y contraseña
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa usuario y contraseña  (Leído 2,731 veces)
Ander123

Desconectado Desconectado

Mensajes: 101


Ver Perfil
Programa usuario y contraseña
« en: 26 Agosto 2012, 10:27 am »

Hola, tengo este programa, y no encuentro el fallo, no se si se pueden poner dos variables diferentes en un "do" con diferentes if.. a ver si me he dejado algo.. esque no lo veo.

Código:
#include<stdio.h>

int main(void)
{
    int codigo, contraseña;
    int valida1=1024, valida2=4567;



    do
    {
        printf("Ingrese su codigo de usuario");
        scanf("%d\n", &codigo);
        printf("Ingrese su contraseña");
        scanf("%d\n", &contraseña);
        {
             if (valida1=!1024)
             printf(" Su codigo no es valido");


        }
        {
            if (valida2=!4567)
        printf("Su contraseña no es valida");

        }


    }
    while
    {
        (valida1=!1024)
        printf("Su codigo es valido");
    }
    {
        (valida2=!4567)
        printf("Su contraseña es valida");
    }
}


« Última modificación: 26 Agosto 2012, 10:46 am por Ander123 » En línea

Stakewinner00


Desconectado Desconectado

Mensajes: 1.426



Ver Perfil WWW
Re: Programa usuario y contraseña
« Respuesta #1 en: 26 Agosto 2012, 12:55 pm »

que pretendes hacer?

intente arreglarlo nose si era esto lo k pretenias, de todos modos
Código
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5.    int codigo;
  6. int contrasena;
  7.    int valida1=1024;
  8. int valida2=4567;
  9.  
  10.  
  11.  
  12.    do
  13.    {
  14.        printf("Ingrese su codigo de usuario");
  15.        scanf("%d\n", &codigo);
  16.        printf("Ingrese su contraseña");
  17.        scanf("%d\n", &contrasena);
  18.        {
  19.             if (valida1=!1024)
  20.             printf(" Su codigo no es valido");
  21.  
  22.  
  23.        }
  24.        {
  25.            if (valida2=!4567)
  26.        printf("Su contraseña no es valida");
  27.  
  28.        }
  29.  
  30.  
  31.    }
  32.    while(valida1=!1024);
  33.        printf("Su codigo es valido");
  34.        while(valida2=!4567);
  35.        printf("Su contraseña es valida");
  36.    }
  37.  


« Última modificación: 26 Agosto 2012, 12:57 pm por Stakewinner00 » En línea

-- KiLiaN --


Desconectado Desconectado

Mensajes: 1.163


Ju Já!!


Ver Perfil
Re: Programa usuario y contraseña
« Respuesta #2 en: 26 Agosto 2012, 14:22 pm »

Código
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5.    int codigo, contrasena, valida1 = 1024, valida2=4567;
  6.  
  7.     do
  8.    {
  9.        printf("Ingrese su codigo de usuario");
  10.        scanf("%d\n", &codigo);
  11.        printf("Ingrese su contrase&#241;a");
  12.        scanf("%d\n", &contrasena);
  13.  
  14.             if (valida1 != 1024)
  15.               printf(" Su codigo no es valido");
  16.  
  17.             if (valida2 != 4567)
  18.               printf("Su contrase&#241;a no es valida");
  19.  
  20.  
  21.    }
  22.    while(valida1 != 1024 && valida2 != 4567);
  23.  
  24.     return 0;  
  25.    }
  26.  
« Última modificación: 26 Agosto 2012, 14:26 pm por -- KiLiaN -- » En línea

fabianjsm

Desconectado Desconectado

Mensajes: 26


Ver Perfil WWW
Re: Programa usuario y contraseña
« Respuesta #3 en: 26 Agosto 2012, 14:28 pm »

En tu IF estas comparando con valida1, no deberías comparar con contrasena?
El operador de comparación es !=, tu escribes =!.
No necesitas en "\n" en scanf, con "%d" es suficiente, lo que haces es esperar un RETURN extra.
Modificando un poco tu codigo:

Código
  1.    do {
  2.        printf("Ingrese su contraseña: ");
  3.        scanf("%d", &contrasena);
  4. if (contrasena == valida1)
  5. break; // sale del while
  6. if (contrasena == valida2)
  7. break; // sale del while
  8. printf("Su contraseña no es valida\n");
  9. } while(1); // vuelve al inicio del bucle
  10.    printf("Su codigo es valido!\n");
En línea

Fire544

Desconectado Desconectado

Mensajes: 85


"Escucha el sonido del 0, 1"


Ver Perfil WWW
Re: Programa usuario y contraseña
« Respuesta #4 en: 26 Agosto 2012, 18:26 pm »

En tu IF estas comparando con valida1, no deberías comparar con contrasena?
El operador de comparación es !=, tu escribes =!.
No necesitas en "\n" en scanf, con "%d" es suficiente, lo que haces es esperar un RETURN extra.
Modificando un poco tu codigo:

Código
  1.    do {
  2.        printf("Ingrese su contraseña: ");
  3.        scanf("%d", &contrasena);
  4. if (contrasena == valida1)
  5. break; // sale del while
  6. if (contrasena == valida2)
  7. break; // sale del while
  8. printf("Su contraseña no es valida\n");
  9. } while(1); // vuelve al inicio del bucle
  10.    printf("Su codigo es valido!\n");


Si tienes razon, el codigo estaba erratico porque se estaba comparando valida1 con valores constantes y nunca se cumplia la sentencia, la solucion era comparar valida1 con alguna otra variable en este caso con codigo o contraseña, que si dependian del usuario utilizador del codigo o software.
En línea

"Si enseñas a pezcar a un niño lo ayudas para toda la vida, si pezcas para alimentarlo lo ayudas por un momento".
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Es posible inyectar un "virus" en un programa creado en vb6 y sacar contraseñas? « 1 2 »
Programación Visual Basic
DeSsy 10 5,839 Último mensaje 5 Diciembre 2010, 07:51 am
por BlackZeroX
PHP para Cambiar un Echo Con contraseña
PHP
newbie007 5 3,567 Último mensaje 19 Noviembre 2011, 01:21 am
por s00rk
Contraseñas Windows live
Seguridad
CGR.ER 1 3,051 Último mensaje 22 Noviembre 2011, 09:18 am
por Unbr0ken
Contraseñas??
Wireless en Linux
Parazito1 2 2,754 Último mensaje 26 Marzo 2012, 18:57 pm
por P4nd3m0n1um
eliminar contraseña de ESET
Seguridad
cygnusx1 3 21,778 Último mensaje 27 Julio 2017, 20:05 pm
por E.M.Z
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines