Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problema "Hola Mundo"

Iniciado por Yorji, 06 de Abril de 2009, 02:25:52 PM

« anterior - próximo »

Yorji

Hola, me estava iniciando en la programacion orientada a objetos con el C++, pero nada mas empezar ya tengo problemas  :grrr:


#include <iostream.h>

int main(void)
{
    cout<<"hola mundo"<<endl;
    return 0;
}


Me aparece la pantalla con el Hola mundo... si.... pero solo durante una milesima de segundo!

Ayuda porfavor, estoy usando la ultima version de Dev-C++ para compilarlo.

flipper83

tu código esta bien, hace lo q tu le has dicho, que imprima "hola mundo" y q se termine la ejecución, lo q tienes q poner es una instrucción que pare la ejecución para que puedas verlo, por ejemplo un cin, que es lo contario que el cout, pon cin >> name; debajo de la linea del cout y a ver q pasa
un cobarde forero en el tanatorio al mes sería un placentero trofeo digno de merecer

Yorji

Antes de nada gracias por responder tan rapido  ::)

Hice lo que me digistes, pero sigo con el mismo problema:

#include <iostream.h>

int main(void)
{
    cout<<"hola mundo"<<endl;
    cin>>name;
    return 0;
}


:'(


davur

No utilices Dev-C++. MSVC++ 2008 Express Edition es mejor en todos los sentidos. Y además, con él, la pausa al ejecutar el programa en una consola no tendrás que hacerla explícitamente.

Luego, éste es el 'Hola, mundo!" canónico en C++:


#include <iostream>

int main()
{
    std::cout << "Hola, mundo!\n";
}


Dos detalles:

    - Nunca utilices el sufijo .h al incluir ficheros de la librería estándar.

    - Nunca utilices void para indicar la ausencia de parámetros en una función.

Yorji

Muchas garcias, provare como me as dicho :)

Hechelion

#5
el compilador no tiene nada que ver. Lo que te dijo flipper83 te dijo está perfecto, fijate que tu segundo código está mal y no debería compilar porque no has declarado "name", se me ocurre que ese código jamas se compiló y el .exe sigue siendo el antiguo, por eso no ves ningún cambio.

#include <iostream>

int main()
{
char name;
std::cout << "Hola, mundo!\n";
std::cin >> name;
return 0;
}


para probar programas de consola, no uses el doble clic de windows, ya que al hacer eso, windows cierra la consola al terminar la ejecución del programa y por eso te vez obligado a meter una pausa, vete a "inicio->ejecutar" coloca "CMD" y te abrirá la consola, desde ella ejecuta tu programa.

kbks

Cita de: Hechelion en 06 de Abril de 2009, 10:31:57 PM
el compilador no tiene nada que ver. Lo que te dijo flipper83 te dijo está perfecto, fijate que tu segundo código está mal y no debería compilar porque no has declarado "name", se me ocurre que ese código jamas se compiló y el .exe sigue siendo el antiguo, por eso no ves ningún cambio.

#include <iostream>

int main()
{
char name;
std::cout << "Hola, mundo!\n";
std::cin >> name;
return 0;
}


para probar programas de consola, no uses el doble clic de windows, ya que al hacer eso, windows cierra la consola al terminar la ejecución del programa y por eso te vez obligado a meter una pausa, vete a "inicio->ejecutar" coloca "CMD" y te abrirá la consola, desde ella ejecuta tu programa.

Y para que no sea tan tedioso recomiendo encarecidamente el CmdHere, que abre la consola con la ruta del archivo que elijas.

Yorji

Ok el codigo que me habeis dado va perfecto!!

Muchas gracias!

Mira que pararme al principio por esa tonteria... :-[

Yorji

#8
Solo una ultima cosa, ¿porque agregais al principio "std::"? no lo entiendo...

Y porque no me deja compilar el  "<<endl;" si se supone que es el "\n" del C++....

:S

Marci

Con el std:: le estás indicando una ruta donde buscar un simbolo determinado (si quieres mirar por tu cuenta se llaman namespaces). El endl no te lo encuentra por ese motivo. Tendrias que poner std::endl.

Si te da pereza andar poniendo lo de std:: tambien puedes añadir la linea
Código (cpp) [Seleccionar]
using namespace std; a continuacion del #include <iostream.h> y asi ya te encontraria el endl, cin, cout, ...

Yorji

Muchas gracias!

Ya lo tengo todo mucho mas claro, GRACIAS!!  :D






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.