Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ..:ALT3RD:.. en 18 Agosto 2011, 23:14 pm



Título: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 18 Agosto 2011, 23:14 pm
Buenas :)

aprovecho para presentarme, soy nuevo en el foro tengo 13 años y tengo conocimientos basicos/medios de vb6 aunque ya olvide una gran parte de vb6 porque ahora me estoy metiendo en el tema de modelado 3D con maya,3d max...etc

El caso, esque quiero volver  a programar y ya que lo hago me gustaria empezar en C++ ya que es mucho mas util segun lo que he leido y demas. Llevo 3 dias y bueno hoy estaba haciendo este codigo:

Código:
#include <iostream>
#include <cmath>


int main () {

using namespace std;

double x;

x= sqrt (9) ;


cout << x << endl;



return 0;

}

Pues lo dicho, lo copilo lo corro y nada, da error , lo que pasa esque no encuentro el error y me gustaria que vosotros me resolvieseis ese codigo tan basico.

Un salu2!


Título: Re: Nuevo en C++
Publicado por: Alien-Z en 18 Agosto 2011, 23:42 pm
No veo ningún error en tu aplicación y además ami me ejecuta correctamente. ¿Seguro que te da error el compilador?, ¿o es que se cierra la ventana nada mas ejecutar?, si es asi añade esto:

Citar
#include <iostream>
#include <cmath>
#include <conio.h> //Añadimos la libreria conio para usar getch.
using namespace std;

int main ()
{
    double x;
    x = sqrt (9);
    cout << x << endl;
   
    getch (); //Esto pausará la aplicación para poder ver el resultado.
    return 0;
}

Saludos.


Título: Re: Nuevo en C++
Publicado por: Ferno en 19 Agosto 2011, 03:23 am
O puedes incluir la librería cstdio (la cual posee las implementaciones de la librería standard de C) y utilizar getchar();
O puedes simplemente imprimir "presione una tecla para continuar" y leer la respuesta por teclado al final de tu programa.


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 13:11 pm
Queva el problema no esque no se pause el programa, al copilarlo me dice 1 failed. Tal vez pueda ser porque mi visual studio C++ es de prueba? es decir tiene 16 dias para que caduque y como es la version de prueba no tiene la libreria <cmath> no?


Título: Re: Nuevo en C++
Publicado por: Queta en 19 Agosto 2011, 14:30 pm
Copia y pega el mensaje del error. ¿Cómo creaste el proyecto?


Título: Re: Nuevo en C++
Publicado por: Alien-Z en 19 Agosto 2011, 15:30 pm
Queva el problema no esque no se pause el programa, al copilarlo me dice 1 failed. Tal vez pueda ser porque mi visual studio C++ es de prueba? es decir tiene 16 dias para que caduque y como es la version de prueba no tiene la libreria <cmath> no?

Aqui tienes el Visual Studio C++ versión completa (descarga oficial y gratuito): http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express

Aqui otro compilador bastante bueno por si tienes algún problema con ese, Dev C++: http://dev-c.softonic.com/

Saludos.

PD: En el Visual Studio acuérdate de seleccionar el idioma español abajo a la derecha antes de darle a download.


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 15:40 pm
Este es el error que me tira:

Código:
1>------ Build started: Project: kok, Configuration: Debug Win32 ------
1>  gt.cpp
1>c:\users\celia\documents\visual studio 2010\projects\kok\kok\gt.cpp(11): error C2668: 'sqrt' : ambiguous call to overloaded function
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(589): could be 'long double sqrt(long double)'
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(541): or       'float sqrt(float)'
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h(127): or       'double sqrt(double)'
1>          while trying to match the argument list '(int)'
1>c:\users\celia\documents\visual studio 2010\projects\kok\kok\gt.cpp(22): error C2470: 'http' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\users\celia\documents\visual studio 2010\projects\kok\kok\gt.cpp(23): fatal error C1004: unexpected end-of-file found
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Muchas Gracias por el link aunque ya sabia donde encontrarlo  ;D Solo que llevo tan poco tiempo en C++ que no me dio tiempo ni a descargarme la version completa Jaja


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 16:09 pm
Me acabo de bajar el copilador del link que me has dado y me sigue dando el error. (Y lo he probado en dos pcs distintos) Provare con el Dev C++

EDIT: Con Dev C++ tambien me da error  :( Que desesperacion Jaja


Título: Re: Nuevo en C++
Publicado por: komiki007 en 19 Agosto 2011, 16:56 pm
Lo que pasa es que depues de poner los "#include <...>"
tienes que poner el "using namespace std;", no despues del "int main()"


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 16:59 pm
Queva no es eso  , si te fijas en mi codigo ya lo puse eso  ;D Gracias de todas formas jeje


Título: Re: Nuevo en C++
Publicado por: komiki007 en 19 Agosto 2011, 17:04 pm
No me había fijado  :silbar:


Título: Re: Nuevo en C++
Publicado por: komiki007 en 19 Agosto 2011, 17:05 pm
Lo acabo de probar y no pasa nada, cual es exactamente el error?


Título: Re: Nuevo en C++
Publicado por: satu en 19 Agosto 2011, 17:08 pm
Hola

El código es correcto y en Code::Blocks (http://www.codeblocks.org/downloads/26) funciona perfectamente, no se qué puede ser ese error

Por cierto Alien-Z no se recomienda el uso de conio, te vendría bien leerte esto (https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html)

Saludos


Título: Re: Nuevo en C++
Publicado por: komiki007 en 19 Agosto 2011, 17:10 pm
intenta con esto:
#include <iostream>
#include <cmath>


int main () {
   
   using namespace std;
   
   double x;

   x= sqrt (9);


   cout << x << endl;

      
      system ("pause");

   }


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 17:14 pm
Nada... gracias por intentarlo pero esque no se que le pasa pero no me funciona esa libreria , porque la parte de codigo esta bien. Por cierto respondi tu duda en el toro post espero que te sirva :)


Título: Re: Nuevo en C++
Publicado por: satu en 19 Agosto 2011, 17:14 pm
intenta con esto:
#include <iostream>
#include <cmath>


int main () {
   
   using namespace std;
   
   double x;

   x= sqrt (9);


   cout << x << endl;



      return 0;
      
      system ("pause");

   }

Hola

Para poder utilizar system debes incluir la librería cstdlib, si no la pones los buenos compiladores darán error. Por cierto cualquier sentencia que esté detrás del return no se ejecutará

Saludos


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 17:16 pm
El codigo esta correcto, mis dudas no son en el codigo sino porque no funciona y nose el motivo  (es problema de mi pc supongo, o que no tengo las librerias, no tengo ni idea de que puede ser):xD Un salu2 , y gracias :)


Título: Re: Nuevo en C++
Publicado por: satu en 19 Agosto 2011, 17:23 pm
Es muy raro lo que te pasa, descargate el Code::Blocks y prueba

Ya nos contarás

Saludos


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 17:33 pm
Nada, no funciiona, asi se te quitan las ganas de empezar con C++  :xD

Aunque yo hasta que no lo solucione no me voy a quedar tranquilo  :silbar:


Título: Re: Nuevo en C++
Publicado por: Queta en 19 Agosto 2011, 17:38 pm
Fíjate en la información de la función (http://www.cplusplus.com/reference/clibrary/cmath/sqrt/ (http://www.cplusplus.com/reference/clibrary/cmath/sqrt/)). Problema solucionado:

Citar
In C++, this function is overloaded in <complex> and <valarray> (see complex sqrt and valarray sqrt).


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 17:45 pm
Queta: a que te refieres que las librerias que usa sqrt son  <complex> and <valarray>? si es eso lo que intentas decirme, he provado con las dos y nada tampoco funciona , hay una fuerza oscura que me impide que programe en C++  :xD :xD :xD


Título: Re: Nuevo en C++
Publicado por: Queta en 19 Agosto 2011, 17:59 pm
Busca en Google anda. Como alternativa podrías probar lo siguiente:

Código
  1. double x = sqrt((double)9);


Título: Re: Nuevo en C++
Publicado por: ..:ALT3RD:.. en 19 Agosto 2011, 18:02 pm
 :o :o :o Funciono :) Muchisimas Gracias te lo agradezco, aunque lo que no entiendo es porque a los demas les funcionaba con

Código:
double x;

x= sqrt (9) ;


Y a mi no, pero bueno da igual, muchas gracias :)


Título: Re: Nuevo en C++
Publicado por: Queta en 19 Agosto 2011, 18:09 pm
De nada.


Título: Re: Nuevo en C++
Publicado por: Danyel_Casvill en 20 Agosto 2011, 04:26 am
No veo ningún error en tu aplicación y además ami me ejecuta correctamente. ¿Seguro que te da error el compilador?, ¿o es que se cierra la ventana nada mas ejecutar?, si es asi añade esto:

Saludos.

No es recomendable usar conio.h, es mas, no uses esta librería jamáz, si quieres pausar el programa, si usas la librería iostream, sólamente pon
Código
  1. cin.get();cin.get();
antes de retur 0;

Y te recomiendo de compilador code::blocks, satu ya te dio el link para descargarlo.

Y amm, usas windows o linux o que?


Título: Re: Nuevo en C++
Publicado por: Ferno en 20 Agosto 2011, 04:46 am
Y te recomiendo de compilador code::blocks, satu ya te dio el link para descargarlo.

Aclaro para que no haya confusiones. Code::Blocks es un IDE: Entorno de Desarrollo Integrado (sigas en inglés), NO es un compilador.
Lo que puedes hacer es descargarte el Code::Blocks con el compilador MinGW. Y directamente compilar y correr el programa desde el IDE. Pero sin el compilador, el CodeBlocks no es más que un editor de texto con alguna que otra función copada :P