Problema Pausar programa

Iniciado por R3tr0, 26 Febrero 2011, 19:55 PM

0 Miembros y 4 Visitantes están viendo este tema.

R3tr0

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.

#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:

#include <stdio.h>

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


Cita de: ErrorC:\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.

Slava_TZD

#1
#include <stdlib.h>

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


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.

R3tr0

Cita de: Tzhed en 26 Febrero 2011, 20:21 PM
#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

Slava_TZD

Cita de: R3tr0 en 26 Febrero 2011, 20:40 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)


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.

R3tr0

Cita de: Tzhed en 26 Febrero 2011, 20:55 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

volteo0101

Cita de: R3tr0 en 26 Febrero 2011, 21:11 PM
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

R3tr0

Cita de: volteo0101 en 27 Febrero 2011, 01:49 AM
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??

Ferno

Cita de: R3tr0 en 27 Febrero 2011, 12:56 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 :(