Título: Programa usuario y contraseña
Publicado por: Ander123 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. #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"); } }
Título: Re: Programa usuario y contraseña
Publicado por: Stakewinner00 en 26 Agosto 2012, 12:55 pm
que pretendes hacer? intente arreglarlo nose si era esto lo k pretenias, de todos modos #include<stdio.h> int main() { int codigo; int contrasena; int valida1=1024; int valida2=4567; do { printf("Ingrese su codigo de usuario"); printf("Ingrese su contraseña"); scanf("%d\n", &contrasena ); { 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"); while(valida2=!4567); printf("Su contraseña es valida"); }
Título: Re: Programa usuario y contraseña
Publicado por: -- KiLiaN -- en 26 Agosto 2012, 14:22 pm
#include<stdio.h> int main() { int codigo, contrasena, valida1 = 1024, valida2=4567; do { printf("Ingrese su codigo de usuario"); printf("Ingrese su contraseña"); scanf("%d\n", &contrasena ); if (valida1 != 1024) printf(" Su codigo no es valido"); if (valida2 != 4567) printf("Su contraseña no es valida"); } while(valida1 != 1024 && valida2 != 4567); return 0; }
Título: Re: Programa usuario y contraseña
Publicado por: fabianjsm 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: do { printf("Ingrese su contraseña: "); scanf("%d", &contrasena); if (contrasena == valida1) break; // sale del while if (contrasena == valida2) break; // sale del while printf("Su contraseña no es valida\n"); } while(1); // vuelve al inicio del bucle printf("Su codigo es valido!\n");
Título: Re: Programa usuario y contraseña
Publicado por: Fire544 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: do { printf("Ingrese su contraseña: "); scanf("%d", &contrasena); if (contrasena == valida1) break; // sale del while if (contrasena == valida2) break; // sale del while printf("Su contraseña no es valida\n"); } while(1); // vuelve al inicio del bucle 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.
|