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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Donde está el error?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Donde está el error?  (Leído 1,695 veces)
santibarquero98

Desconectado Desconectado

Mensajes: 42


Ver Perfil
¿Donde está el error?
« en: 27 Abril 2015, 20:29 pm »

Hola, me estoy iniciando en programar C y he llegado al DO...WHILE, se como funciona y lo entiendo pero he llegado a un ejercicio, he hecho el código pero no funciona bien el programa. Compilar compila, pero no funciona bien, os explico:

El ejercicio se trata de hacer que el usuario introduzca una contraseña y username correcto (establecidos ya en el programa), si no introduce el username correcto, le seguirá pidiendo hasta que lo introduzca correctamente y cuando lo haga bien, hará lo mismo con la contraseña hasta introducir ambas correctamente y saldrá un mensaje.

El problema viene cuando introduzco bien el nombre de usuario, ya que no continua con las siguientes ordenes, se queda colgado (sin embargo, si presiono CTROL+C para cerrar el programa si que aparece pero ese medio segundo mientras se cierra).

El código es:

Código:
#include <stdio.h>
int main()
{
int user=1024;
int pass=4567;
int useru,passu;

printf("Introduce tu nombre de usuario. \n");
scanf("%d",&useru);
do
{
if (useru!=user)
printf("Prueba de nuevo. \n");
scanf("%d",&useru);
}
while (useru!=user);

printf("Escribe tu contraseña. \n");
scanf("%d",&passu);
do
{
if (passu!=pass)
printf("Vuelve a intentarlo. \n");
scanf("%d",&passu);
}
while (passu!=pass);

printf("Accediendo al sistema... \n");
return 0;
}

Espero que me podáis ayudar para continuar con el curso con esto claro.

Estoy convencido de que será un error estúpido, como siempre pasa pero he analizado y analizado y no lo entiendo, pienso que falta algo después de WHILE o algo así para poder continuar pero no tengo ni idea...

P.D: No se si quizás haría falta menos código para lo que intento, si es así, por favor decidme como podría reducirlo ya que es un objetivo importante al programar pero tener en cuenta que no se mucho de C.


En línea

pacosn1111

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: ¿Donde está el error?
« Respuesta #1 en: 27 Abril 2015, 21:00 pm »

Te faltan las llaves que engloba lo que está  dentro de los condicionales, no me explico como compila, te dejo el código corregido:

Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int user=1024;
  5. int pass=4567;
  6. int useru,passu;
  7.  
  8. printf("Introduce tu nombre de usuario. \n");
  9. scanf("%d",&useru);
  10. do
  11. {
  12. if (useru!=user)
  13.                        {
  14. printf("Prueba de nuevo. \n");
  15. scanf("%d",&useru);
  16.                        }
  17. }
  18. while (useru!=user);
  19.  
  20. printf("Escribe tu contraseña. \n");
  21. scanf("%d",&passu);
  22. do
  23. {
  24. if (passu!=pass)
  25.                      {
  26. printf("Vuelve a intentarlo. \n");
  27. scanf("%d",&passu);
  28.                      }
  29. }
  30. while (passu!=pass);
  31.  
  32. printf("Accediendo al sistema... \n");
  33. return 0;
  34. }
  35.  

PD: Estas llaves SOLO no son necesarias cuando el contenido del if es únicamente UNA instrucción, en el resto de casos como este si son obligatorias.


« Última modificación: 27 Abril 2015, 21:03 pm por pacosn1111 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
donde esta el error ?
Java
darkxxx 3 2,797 Último mensaje 10 Junio 2007, 23:41 pm
por coolfrog
Donde esta el error
PHP
Erika Vega 4 2,290 Último mensaje 8 Noviembre 2007, 15:00 pm
por дٳŦ٭
¿Donde esta el error?
PHP
Latino Heat 3 2,517 Último mensaje 17 Octubre 2008, 21:57 pm
por Latino Heat
Donde esta mi error =( « 1 2 »
PHP
RedZer 19 7,690 Último mensaje 10 Diciembre 2010, 05:21 am
por RedZer
¿Dónde ésta el error?
Programación General
noob2012 5 2,794 Último mensaje 21 Marzo 2013, 22:15 pm
por $Edu$
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines