Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: R3tr0 en 26 Febrero 2011, 19:55 pm



Título: Problema Pausar programa
Publicado por: R3tr0 en 26 Febrero 2011, 19:55 pm
Como ya dije por el foro estoy empezando desde 0 con C++ y estoy probando con el printf y demás pero tengo un problema a la hora de pausar el programa.

Al principio compila y ejecuta sin errores pero se cierra automáticamente al instante. Este es el código.

Código:
#include <stdio.h>

main() {
       printf ("Hola Mundo");
       }

Ya sé que el programa no tiene escrito para que se pause pero luego pruebo con este otro código y me da un error el Dev C++ al compilar que no entiendo:

Código:
#include <stdio.h>

main() {
       printf ("Hola Mundo");
       system ("pause");
       }

Cita de: Error
C:\Users\*****\Desktop\Sin Nombre1.cpp `system' undeclared (first use this function)
  (Each undeclared identifier is reported only once for each function it appears in.) ]

También he probado con getch y me sale el mismo error al compilar. Seguramente sea una tontería de novatos pero no sé que poner :S

Grácias de antemano y un saludo.


Título: Re: Problema Pausar programa
Publicado por: Slava_TZD en 26 Febrero 2011, 20:21 pm
Código:
#include <stdlib.h>

Para getch, conio. Pero es liarse, tienes getchar, que sí es estándar.


Título: Re: Problema Pausar programa
Publicado por: R3tr0 en 26 Febrero 2011, 20:40 pm
Código:
#include <stdlib.h>

Para getch, conio. Pero es liarse, tienes getchar, que sí es estándar.

Muchas grácias , he probado con la libreria (creo que es asi) stdlib.h y me da error con la linea de printf , supongo que no serán "compatibles" o algo por el estilo.
Luego he probado con el getchar(); en stdio.h y perfecto.

Muchas grácias


Título: Re: Problema Pausar programa
Publicado por: Slava_TZD en 26 Febrero 2011, 20:55 pm
Muchas grácias , he probado con la libreria (creo que es asi) stdlib.h y me da error con la linea de printf , supongo que no serán "compatibles" o algo por el estilo.
Luego he probado con el getchar(); en stdio.h y perfecto.

Muchas grácias

WTF, no quites stdio.h, es donde está contenida la función printf. (Puedes incluir todas las librerias que desees)


Título: Re: Problema Pausar programa
Publicado por: R3tr0 en 26 Febrero 2011, 21:11 pm
WTF, no quites stdio.h, es donde está contenida la función printf. (Puedes incluir todas las librerias que desees)

Lo quité para probar si funcionaba y que pasaba xDDDDD


Título: Re: Problema Pausar programa
Publicado por: volteo0101 en 27 Febrero 2011, 01:49 am
Lo quité para probar si funcionaba y que pasaba xDDDDD

Puedes hacerlo con la funcion system de windows..

#include <stdio.h>
#include <stdlib.h>
main() {
       printf ("Hola Mundo");
system("pause>nul") // El null para que no muestre un mensaje de aviso.       
}

tambien asi :

#include <stdio.h>
int main()
{
int a;
printf("hola mundo");
scanf("%d",&a);
}

vendria a ser un pause tambien :P


Título: Re: Problema Pausar programa
Publicado por: R3tr0 en 27 Febrero 2011, 12:56 pm
Puedes hacerlo con la funcion system de windows..

#include <stdio.h>
#include <stdlib.h>
main() {
       printf ("Hola Mundo");
system("pause>nul") // El null para que no muestre un mensaje de aviso.       
}

tambien asi :

#include <stdio.h>
int main()
{
int a;
printf("hola mundo");
scanf("%d",&a);
}

vendria a ser un pause tambien :P

Tengo una duda respecto a la función main , porque en ocasiones se le pone int delante y otras veces no? Depende de las librerias??


Título: Re: Problema Pausar programa
Publicado por: Ferno en 27 Febrero 2011, 19:46 pm
Tengo una duda respecto a la función main , porque en ocasiones se le pone int delante y otras veces no? Depende de las librerias??

El ANSI C dice que la función main posee un valor de retorno de tipo int. Es por eso que si codeas en ANSI C, DEBES incluir el tipo de retorno int para la función main. Lástima que mucha gente lo omite :(