ayuda no puedo compilar un sencillo ejemplo

Iniciado por febee, 17 Enero 2014, 03:25 AM

0 Miembros y 1 Visitante están viendo este tema.

febee

me descargue el dev 5.5.3 y me sale errores y no me toma la libreria stream
// librerías que permiten utilizar las funciones del lenguaje
#include <stream.h>
#include <stdlib.h>
// programa principal
main () {   
cout << "HOLA MUNDO!!!\n";
    system("pause");
    }
lo raro que en windows xp coon otra version del dev c++ si me lo toma y lo compila..

engel lex

que errores te da el compilador?


no todos los compiladores son iguales... es probable que te exija  que el main sea tipo int o void

int main()

que el compilador no soporte
system("pause");

en resumen... si no dices que error te da, no se puede dar una ayuda real
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

amchacon

No es stream.h, es <iostream>

Además te falta el "using namespace std;"
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

febee

los errores que me sale es que no existe la libreria stream y si la quito no lo toma al cout y al cin

amchacon

¿Estas usando el compilador de C?

Cita de: engelx en 17 Enero 2014, 03:37 AMque el compilador no soporte
system("pause");
system es la librería estándar.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

vangodp

#5
Código (cpp) [Seleccionar]

// Guardar como .cpp
#include <iostream>
#include <windows.h>  // para que funcione el system poner esta linea tanto en codeblocks como en dev cpp
using namespace std;


int main (){
   cout << "lol";

   system("pause>null");
   return 0;
}


Para hacerlo mas portable envés system("pause>null"); poner:
cin.get(); o cin.ignore();
Lo único que hace falta es la librería iostream que usas para cout, asi no te hace falta system();
Pero si vas usar system() con cualquier comando poner windows.h siempre que sea windows y no linux  :rolleyes:
EDIT: EN XP, no se si es lo mismo en 7 :3

amchacon

En C, system es de la librería <stdlib.h>. En C++ es <cstdlib>

Otra cosa esque windows.h incluya esa librería por su cuenta.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

vangodp

#7
Tengo xp, y haciendo el include de windows.h si que me va.
¿cstdlib es estandar? O sea a ver si me explico: ¿si lo llevo a linux sirve con el system()?
:huh:

amchacon

Cita de: vangodp en 22 Enero 2014, 11:58 AM
Tengo xp, y haciendo el include de windows.h si que me va.
No te digo que no. Pero una de dos, o windows.h tiene una función system propia o hace un include de la stdlib.

Cita de: vangodp en 22 Enero 2014, 11:58 AM¿cstdlib es estandar? O sea a ver si me explico: ¿si lo llevo a linux sirve con el system()?
:huh:
Sí, otra cosa son los comandos que le pases.

Por ejemplo, mira esta función génerica para limpiar la pantalla:
Código (cpp) [Seleccionar]
void limpiarPantalla()
{
   #ifdef _WIN32
       system("cls");
   #elif __gnu_linux__
       system("clear");
   #else
       #ERROR La funcion LimpiarPantalla no está definida para tu OS.
   #endif
}

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

Hacklinx

Visto el comentario de amchacon me asaltan algunas dudas:

El código que has puesto para reconocer sistemas operativos, ¿no tiene mucho sentido no?, me explico.
Estaría muy bien, pero  dependiendo de donde lo compilemos funcionará solo para ese sistema operativo, es decir que si hago esa función limpiarpantalla(); en windows y la compilo, no se podrá usar para linux ¿verdad?.
Ya que al compilarlo en windows lo paso para lenguaje máquina de windows  todo, ya no me podrá funcionar en linux aparte de que la extendión del ejecutable creo que era distinta, luego utilidad multiplataforma no parece tener.

Ya que si lo compilas en windows un linux nunca podrá correr el archivo.
Corregidme si me equivoco.

Saludos.