Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: santibarquero98 en 20 Mayo 2015, 22:15 pm



Título: Problema con programa en C
Publicado por: santibarquero98 en 20 Mayo 2015, 22:15 pm
Buenas. Estoy haciendo un curso de C en PDF en el que el usuario tiene que escribir un número y será convertido a octal y a hexadecimal siempre y cuando ese número sea distinto de 0 y después de pensar y pensar y hacer el programa de distintas formas, he escrito el siguiente código y ya no se que más hacer.

Código:
#include <stdio.h>
int main()
{
int num;

printf("Introduce un numero para convertir. \n");
scanf("%d",&num);

if (num!=0) printf("El numero en octal es %o y en hexadecimal es %X.",num,num);
else return 0;

while (num!=0)
{
printf("Introduce otro numero para convertir. \n");
scanf("%d",&num);
printf("El numero en octal es %o y en hexadecimal es %X.",num,num);
}

}

El tema es que funciona pero no aparece el mensaje "Introduce otro número...", sale directamente para escribir, sin informar al usuario.

¿Dónde está el error?


Título: Re: Problema con programa en C
Publicado por: ohmigod en 21 Mayo 2015, 01:55 am
Acabo de ejecutar tu código y si que lo muestra. He puesto un par de saltos de línea para que sea mas legible:

Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4. int num;
  5.  
  6. printf("Introduce un numero para convertir. \n");
  7. scanf_s("%d", &num);
  8.  
  9. if (num != 0) printf("El numero en octal es %o y en hexadecimal es %X.\n",num,num);
  10.        else return 0;
  11.  
  12. while (num != 0)
  13. {
  14. printf("Introduce otro numero para convertir. \n");
  15. scanf_s("%d", &num);
  16. printf("El numero en octal es %o y en hexadecimal es %X.\n", num, num);
  17. }
  18.  
  19. }


Título: Re: Problema con programa en C
Publicado por: santibarquero98 en 21 Mayo 2015, 10:01 am
Si, es cierto. Era por el compilador de DevC++, que había elegido la opción "Nuevo proyecto" sin especificar si quería programar en C o C++, hoy mismo le he dicho que era en C y si que me ha salido. Muchas gracias.