Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problema en C++

Iniciado por logans83, 25 de Abril de 2009, 06:43:28 PM

« anterior - próximo »

logans83

Buenas, me presento soy logans83 de madrid, estoy iniciandome en el mundo de C++ y estoy con unos videos tutoriales y tutoriales de internet para empezar desde cero. Pues la cosa es que al ejecutar el codigo q me dicen en el tutorial de imprimir pantalla con Hola mundo pues me aparece la panatalla de MS-DOS y desaparece muy rapido sin tocar ninguna tecla, el programa q uso para compilar es el visual C++, he probado poniendo system ( "pausa"); y nada tb he probado poniendo getchar(); igual no ace nada y no da ningun error en compilacion no se que hacer.  he intendado buscar con el buscador del foro pero no me sale nada.

Saludos.

logans83

#1
Ya encontrado el fallo despues de tantas vueltas. Era que ejutando cpp que estaba fuera del proyecto .

Aki os dejo unos video tutoriales para aprender c++ que soy los que estoy usando para empezar.

http://www.illasaron.com/html/modules.php?name=Downloads&d_op=viewdownload&cid=122

Es necesario registrarse en la web.

Saludos

logans83

#2
Tengo una nueva duda que me esta fallado haciendo unas pruebas.

Código (c) [Seleccionar]
#include "stdafx.h"
#include <iostream>

int main()
{
int x = 0;

do
x = x + 1;
std::cout << x << std::endl;
while (x < 100);

std::cin.get();
return 0;
}


Me da un error que me pone:  Error C2061: error de sintaxis : identificador 'cout'. y no se por que he probado fuera del bucle si funcion pero dentro nada.

Saludos.

flipper83

prueba a poner unas llaves entre el do y el while

   do{
      x = x + 1;
      std::cout << x << std::endl;
   }while (x < 100);

tal q así a ver q tal
un cobarde forero en el tanatorio al mes sería un placentero trofeo digno de merecer

Pogacha

Citaraciendo unas pruevas.

Para que yo me de cuenta indica que estas en problemas graves :O

logans83

Cita de: flipper83 en 25 de Abril de 2009, 09:05:35 PM
prueba a poner unas llaves entre el do y el while

   do{
      x = x + 1;
      std::cout << x << std::endl;
   }while (x < 100);

tal q así a ver q tal

Muchas gracias asi si funciona ya decia yo que me faltaba algo jeje.

Tei

Cita de: logans83 en 26 de Abril de 2009, 03:35:08 AM
Cita de: flipper83 en 25 de Abril de 2009, 09:05:35 PM
prueba a poner unas llaves entre el do y el while

   do{
      x = x + 1;
      std::cout << x << std::endl;
   }while (x < 100);

tal q así a ver q tal

Muchas gracias asi si funciona ya decia yo que me faltaba algo jeje.

los lenguajes tienen dos partes:  sintaxys e idiomateces  (esta es una palabra inventada)

la sintaxis es la cosa que comparten casi todos los lenguajes, si aprendes C++, no te costara nada aprender C o PHP (una mañana o un dia y medio),  las idiomateces cuestan mas... y es una vez que sabes la sintaxis de un lenguaje (como se hace un bucle for en el nuevo idioma, por ejemplo)  consiste (decia) en la forma acostumbrada de hacer las cosas en ese lenguaje.

en "c++"  no se dice  c = c  + 1, se dice  c++

y se abusa mucho de los bucles for, incluso innecesariamente,

   for (x=1;t<101;x++){   
      std::cout << x << std::endl;
   }

como aprender "la sintaxis" cuesta una mañana o una tarde, pero aprender a programar en un lenguaje cuesta un par de meses, la mayor parte del tiempo se pasa en aprender las idiomateces y la libreria estandar.   El saberse las idiomateces suele ser *muy* util para leer el codigo de otras personas, porque una vez que entiendes las idiomateces, el codigo desaparece y ya solo ves el algoritmo ..o en otras palabras "Lo que queria hacer este programador", o en jerga de matrix "la rubia".




logans83

Cita de: Tei en 29 de Abril de 2009, 07:55:05 PM
Cita de: logans83 en 26 de Abril de 2009, 03:35:08 AM
Cita de: flipper83 en 25 de Abril de 2009, 09:05:35 PM
prueba a poner unas llaves entre el do y el while

   do{
      x = x + 1;
      std::cout << x << std::endl;
   }while (x < 100);

tal q así a ver q tal

Muchas gracias asi si funciona ya decia yo que me faltaba algo jeje.

los lenguajes tienen dos partes:  sintaxys e idiomateces  (esta es una palabra inventada)

la sintaxis es la cosa que comparten casi todos los lenguajes, si aprendes C++, no te costara nada aprender C o PHP (una mañana o un dia y medio),  las idiomateces cuestan mas... y es una vez que sabes la sintaxis de un lenguaje (como se hace un bucle for en el nuevo idioma, por ejemplo)  consiste (decia) en la forma acostumbrada de hacer las cosas en ese lenguaje.

en "c++"  no se dice  c = c  + 1, se dice  c++

y se abusa mucho de los bucles for, incluso innecesariamente,

   for (x=1;t<101;x++){   
      std::cout << x << std::endl;
   }

como aprender "la sintaxis" cuesta una mañana o una tarde, pero aprender a programar en un lenguaje cuesta un par de meses, la mayor parte del tiempo se pasa en aprender las idiomateces y la libreria estandar.   El saberse las idiomateces suele ser *muy* util para leer el codigo de otras personas, porque una vez que entiendes las idiomateces, el codigo desaparece y ya solo ves el algoritmo ..o en otras palabras "Lo que queria hacer este programador", o en jerga de matrix "la rubia".

Muchas gracias ya entiendo esas cosas con lo video tutoriales q lo explican muy bien cada vez aprendo cosas nuevas ya iré poniendo mis dudas mientras me surjan,  pero por ahora lo entiendo muy bien.

Saludos

logans83

Tengo un problema cuando me sale la consola de MS-dos y termina el programa que he programado que pone "presiona una tecla para terminar" pues le doy a la X de la ventana para cerra y se me cuelga el ordenador. Pero si le doy a a una tecla se cierra bie. Por que puede ser?.

Saludos.

Netto22

Supongo que sera algo externo al codigo pero a que viene el #include "stdafx.h" en un codigo de este tipo? no vale poniendo el iostream solo?

logans83

#10
Cita de: Netto22 en 01 de Mayo de 2009, 10:41:46 AM
Supongo que sera algo externo al codigo pero a que viene el #include "stdafx.h" en un codigo de este tipo? no vale poniendo el iostream solo?

Pues nose es lo que pone por defecto pero ya probare a ver si quitando #include "stadafx.h" funciona.

Saludos.

PD: ya lo he probado y sin #include "stdafx.h" no me funciona. Estoy usando visual c++ 2008 express por si tiene algo que ver.

Tei

Cita de: logans83 en 01 de Mayo de 2009, 11:28:02 AM
Cita de: Netto22 en 01 de Mayo de 2009, 10:41:46 AM
Supongo que sera algo externo al codigo pero a que viene el #include "stdafx.h" en un codigo de este tipo? no vale poniendo el iostream solo?

Pues nose es lo que pone por defecto pero ya probare a ver si quitando #include "stadafx.h" funciona.

Saludos.

PD: ya lo he probado y sin #include "stdafx.h" no me funciona. Estoy usando visual c++ 2008 express por si tiene algo que ver.

Puede que sea un buen momento para que abras ese stdafx.h.  Posiblemente VC++ tiene en ese fichero declarados objetos y otras historias, propias de ese compilador. Y posiblemente tambien, sea opcional.  Aunque quizas la version "express" no sea un compilador completo, sino que le falten algunas cosas... lo ignoro.    Siempre puedes instalarte GCC, y configurar Visual C++ para utilizarlo para compilar, puede ser interesante, aunque el compilador de VC++ no es malo (posiblemente es bastante bueno), nunca biene mal utilizar un compilador que existe en multiples plataformas como es GCC.

O.. bueno, tambien puedes hacerte una idea de que no compila ese compilador, y evitarlo. Quizas viene sin soporte para consola.. (?). No es que necesites mucho eso para videojuegos (aunque puede venir bien para aprender el lenguaje).


Netto22

Pues yo utilizo tambien el Visual C++ 2008 y no me sale ese include... quizas porque empiezo codigo en blanco y no genero ninguna ventana?

Podria pedir de que se incluyera el contenido de ese .h para poder ver que es? o infrinjo alguna norma?

Prompt

Cita de: Netto22 en 04 de Mayo de 2009, 04:17:28 PM
Pues yo utilizo tambien el Visual C++ 2008 y no me sale ese include... quizas porque empiezo codigo en blanco y no genero ninguna ventana?

Podria pedir de que se incluyera el contenido de ese .h para poder ver que es? o infrinjo alguna norma?

Si empiezas un proyecto en blanco no sale, no. Ese archivo se usa para generar el "precompiled header"

Netto22

#14
Edit: Borrado, problema resuelto,






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.