Comunidad PHPeros
Lenguajes => C / C++ => Mensaje iniciado por: Siquillote en 28 de Octubre de 2010, 18:36:56 pm
-
Hola chicos, hace 3 días que no cojo el tema por estudios y tal pero ya puedo volver y bueno, viendo el resultado de nivel de programación de mi calculadora, muchos han sido los que me han recomendado algunas técnicas de mejora pero no me funcionan.
1 - Ya se que para hacer algunas funciones, estás requieren de algunas librerías especiales pero las que uso yo son conio.h, iostream.h y stdio.h
2 - Una vez ya dentro del documento con las 3 librerías declaradas e iniciada la función int main llamo a cout para imprimir algo en pantalla algo como: cout<<"Hola PHPeros!"; pero me salta error al complilarlo
3 - Al igual que cout tambien me ocurre con cin>>variable
4 - Y así con muchas funciones que veo en tutoriales cuyas librerías son las mismas que uso yo...
-
Hola chicos, hace 3 días que no cojo el tema por estudios y tal pero ya puedo volver y bueno, viendo el resultado de nivel de programación de mi calculadora, muchos han sido los que me han recomendado algunas técnicas de mejora pero no me funcionan.
1 - Ya se que para hacer algunas funciones, estás requieren de algunas librerías especiales pero las que uso yo son conio.h, iostream.h y stdio.h
2 - Una vez ya dentro del documento con las 3 librerías declaradas e iniciada la función int main llamo a cout para imprimir algo en pantalla algo como: cout<<"Hola PHPeros!"; pero me salta error al complilarlo
3 - Al igual que cout tambien me ocurre con cin>>variable
4 - Y así con muchas funciones que veo en tutoriales cuyas librerías son las mismas que uso yo...
Tu calculadora sigue CodigoLibre :)? Pon los errores que te manda el compilador. Que IDE usas? Si usas el CodeBlocks lo verás abajo de la pantalla, donde pone BUILD MESSAGES.
¡Un abrazo!
-
Tu calculadora sigue CodigoLibre :)? Pon los errores que te manda el compilador. Que IDE usas? Si usas el CodeBlocks lo verás abajo de la pantalla, donde pone BUILD MESSAGES.
¡Un abrazo!
Estoy en ello y si, uso Code::Blocks. Resulta que en un archivo externo a mi calculadora, estoy probando las funciones y tal y he hecho un código para que simplemente imprima Hola ;] y en verdad si se ejcuta pero mas abajo salta un error, aquí os dejo 3 imagenes para que comprobeis las fallas
(http://angelsamuel.com/C++/1615.png)
(http://angelsamuel.com/C++/2752.png)
(http://angelsamuel.com/C++/3623.png)
-
Curioso :) Ok. El problema es que debes usar CSTDIO en vez del STDIO.Hy IOSTREAM en vez del mismo con .h.
Un abrazo. Prueba así :)
-
Igual ;(
-
Igual ;(
Ah! Creo que te descuidas el USING NAMESPACE STD :)
-
Ah! Creo que te descuidas el USING NAMESPACE STD :)
Eso recuerdo haberlo visto en algun sitio pero no se por que y para que sirve :L. Googlearé un poquito a ver que me encuentro.
-
Eso recuerdo haberlo visto en algun sitio pero no se por que y para que sirve :L. Googlearé un poquito a ver que me encuentro.
Ah :) Te funcionó? Si no hubieras hecho el namespace, tu código cout seria asi:
std::cout << "Algo" << std::endl;
Es como un contenedor. No debes preocuparte, si es eso lo que pasa. No es importante al principio. Es como para delimitar ámbitos... pero da igual.
Te servirá mucho más cuando avances, con más lineas de codigo pero no es importante ahora.
Un abrazo
-
Bueno mañana le eho un vistazo por que por cada movimiento que hago, siempre me sale un error aunque uno se tape...
-
Bueno mañana le eho un vistazo por que por cada movimiento que hago, siempre me sale un error aunque uno se tape...
Es extraño lo que te pasa... Habría que mirarlo más cuidadosamente. Hasta a mi me impresiona ^^
-
Y a mi me jod... por que no puedo aprender ;(
-
Yo te explique en un post mio sobre std y namespaces, ¿Recuerdas?
No se a que vendra tu error, prueba utilizando "using namespace std;" luego de declarar los archivos que incluyes. ¡Me cuentas!
-
Yo te explique en un post mio sobre std y namespaces, ¿Recuerdas?
No se a que vendra tu error, prueba utilizando "using namespace std;" luego de declarar los archivos que incluyes. ¡Me cuentas!
Sí, gink, es verdad, pero no creo que sera esto. El namespace lo ha probado ya, y si faltara una libreria directamente saltaría un error no un warning en el cout.
Siqui, probaré preguntando en elhacker.net.
Dame EXACTAMENTE el código que te salta error. Mételo aquí que quizas se me pasa algo por alto. O prueba con algun ejemplo de internet :) A ver si quizas es algo del PC. Porque dice que son las librerias ^^
-
Siquillote, has probado ya lo que te han dicho del namespace std?
Si no indicas que se use el namespace tendrás que especificarlo al usar cout:
std::cout << "Texto";
-
Naveda, ya lo he probado al no poner lo de namespace y tal antes. El resultado es que me muestra el "Texto, hola mundo" en pantalla pero debajo de este pone un código de error como el que pone arriba en la imagen ;[
-
Haz que se pause el sistema y me dices :P
al final pon (antes de terminar el int main {})
system("pause");
-
¿Valdría usar getch()?) He probado con getch, sale todo correcto pero al pulsar una tecla me salta el error. Ya por lo menos no sale nada mas sin pulsar ninguna tecla...
-
Probablemente el motivo es que no estas devolviendo nada en main...
pon al final del main
return 0;
-
Nada, funciona correctamente pero al final siempre salta el error. ¿Podría ser que sea el compilador? Uso Code::Blocks
-
Nada, funciona correctamente pero al final siempre salta el error. ¿Podría ser que sea el compilador? Uso Code::Blocks
El IDE (codeblocks) no tiene la culpa. Antes será el GCC (minGW en windows, que es una adaptacion) el que será problematico pero me es dificil. Estas seguro que has metido el codeblocks en la carpeta C en vez de D? Por si las moscas
Un abrazo
-
Nada Farresito...
-
¿Has probado a ejecutarlo sin el Code::Blocks?
Me refiero a compilarlo y simplemente hacerle doble click o ejecutarlo desde el cmd de Windows.
Ese mensaje que obtienes (Lo de process returned 0) no tiene por qué ser un error, si no mas bien parece un mensaje de control.
Quizás si lo haces fuera del IDE no te lo devuelva.
Aún así, en algunos IDE's viene las opciones Debug y Release para tu proyecto (Recuerdo que el Visual C++ traía esa opción, no se si el Code::Blocks tambien la traerá), quizás si lo pones en modo Release ya no te muestre ese mensaje.
Saludos!
-
Siqui, prueba lo que dice TLX, mediante la línea de comandos. Lo que te pasa es MUY extraño. Nunca me ha pasado ^^.
Si entiendes el inglés, creo que esto te será útil para compilar por CMD: http://www.mingw.org/wiki/MinGWforFirstTimeUsers
Un abrazo
-
Prueba compilar otro programa en C++ (no C, porque C sí te funciona y es lo que te has dedicado a aprender en vez de C++).
Edito:
Quita las librerías de C.
Acabo de hacer esta aplicación con el CodeBlocks y el compilador GCC.
#include <iostream>
using namespace std;
class Calc{
private:
double val1, val2;
public: void set(double a, double b){
val1 = a;
val2 = b;
}
public:
double sumar(){
return val1+val2;
}
double restar(){
return val1-val2;
}
double multiplicar(){
return val1*val2;
}
double dividir(){
return val1/val2;
}
};
int main()
{
int opt;
double a, b, res;
string oper;
bool validate;
Calc obj;
cout << "Introduce el primer número: ";
cin >> a;
cout << "Introduce el segundo número: ";
cin >> b;
cout << "- Operaciones a Realizar -\n\n"
<< "1. Sumar\n2. Restar\n3. Multiplicar\n4. Dividir";
do{
cout << "\n\n¿Qué operación desea realizar?: ";
cin >> opt;
validate = opt >= 1 && opt <= 4;
if(!validate)
cout << "Error, solo puedes introducir valores entre 1 y 4 como opciones.";
} while(!validate);
obj.set(a, b);
switch(opt){
case 1:
res = obj.sumar();
oper = "El total";
break;
case 2:
res = obj.restar();
oper = "La diferencia";
break;
case 3:
res = obj.multiplicar();
oper = "El producto";
break;
case 4:
res = obj.dividir();
oper = "El cociente";
break;
}
cout << oper<<" es: "<<res;
}
Me corrió bien, así que si no te compila o algo puede que sea problema del compilador.
-
Yo utilizo el Dev-c++, que utiliza el gcc y funciona perfecto. ¡Compruebalo!
-
Yo utilizo el Dev-c++, que utiliza el gcc y funciona perfecto. ¡Compruebalo!
¡Y es el que estaba usando yo pero todos dicen que DEV++ esta obsoleto no se que mas y ayer me dijo TLX que eran tonterías que no le pasa nada asi que supongo que seguiré igual con Dev++!
-
Si te sigue sin funcionar prueba a usar printf en vez de cout y scanf en vez de cin, por ejemplo:
#include <stdio.h>; //para el prinf y scanf
#include <stdlib.h>; //para usar el system("PAUSE")
int main() {
int entero1, entero2, total;
printf("Introduce un entero \n");
scanf("%d", &entero1);
printf("Introduce otro entero \n");
scanf("%d", &entero2);
total = entero1 + entero2;
printf("La suma es %d \n", total");
system("PAUSE");
return 0;
}
PD: Yo uso el wxDev-c++.
Saludos!
-
Gracias Znet pero justamente usaba eso antes de querer pasarme a cin y cout por que lo veo mas rápido ;)
-
¡Y es el que estaba usando yo pero todos dicen que DEV++ esta obsoleto no se que mas y ayer me dijo TLX que eran tonterías que no le pasa nada asi que supongo que seguiré igual con Dev++!
Eso dicen los que no saben :P
El dev-c++ es excelente, no lo cambies por nada
-
Si usais DevC++ y empezais a querer algo más, vais a lamentar no haber empezado a desarrollar directamente con un buen IDE...
Recomiendo que probeis qtCreator, es multiplataforma y permite hacer debugg... Es mas de lo que muchos pueden ofrecer :D
-
Yo prefiero no usar ningún IDE... realmente tienen alguna función interesante (yo personalmente solo hecho de menos que te diga los parámetros de las funciones según escribes pero bueno). Por lo demás...
Gedit modificado un poco para programar y DDD para debugear y me va todo de perlas, nunca he necesitado nada más.
Un IDE es otra cosa mas que debes aprender a usar...
Saludos!
-
Gracias Znet pero justamente usaba eso antes de querer pasarme a cin y cout por que lo veo mas rápido ;)
Lo que pasa es que cuando intentabas hacer lo nuevo, estabas incluyendo las librerías de C y como lo que querías era programar en C++ te decía que las librerías que estás usando están 'desaprobadas' (deprecated). La solución era la que te dije, que no hiciste caso :P
-
Lo que pasa es que cuando intentabas hacer lo nuevo, estabas incluyendo las librerías de C y como lo que querías era programar en C++ te decía que las librerías que estás usando están 'desaprobadas' (deprecated). La solución era la que te dije, que no hiciste caso :P
:confused: ¿Entonces he estado estudiando todo este tiempo C en vez de C++? :(
-
:confused: ¿Entonces he estado estudiando todo este tiempo C en vez de C++? :(
Exactamente.
Mira el ejemplo que puse aquí: http://www.phperos.net/foro/index.php/topic,6860.msg52511.html#msg52511
Está en C++, usando la librería iostream, entradas y salidas con cin/cout y orientado a objetos.
Estudiar C es un buen comienzo para entrar a C++ porque eso te ayuda a comprender la estructura básica de ese lenguaje.
-
Exactamente.
Mira el ejemplo que puse aquí: http://www.phperos.net/foro/index.php/topic,6860.msg52511.html#msg52511
Está en C++, usando la librería iostream, entradas y salidas con cin/cout y orientado a objetos.
Estudiar C es un buen comienzo para entrar a C++ porque eso te ayuda a comprender la estructura básica de ese lenguaje.
Vale muchas gracias por advertirme a tiempo. Supongo que tendré que empezar todo de nuevo... gracias de nuevo Physlet ;)
-
¡Y es el que estaba usando yo pero todos dicen que DEV++ esta obsoleto no se que mas y ayer me dijo TLX que eran tonterías que no le pasa nada asi que supongo que seguiré igual con Dev++!
Dev-C++ SI está obsoleto, y se ha acabado su desarrollo, lo dice en una nota en la propia web del software. Lo que ha salido es wxDev-C++ que da soporte a wxWidgets, y deriva de Dev-C++
Por supuesto puedes seguir usándolo, pero acuérdate de ir actualizando el compilador MinGW de vez en cuando, porque al final te vas a quedar atrás en algunas cosas ^^
¡Un abrazo!
PD: Siqui, estudia tanto C como C++, son prácticamente iguales, a excepción de algunas cosillas. De este modo te ayudará a entender muchos códigos, ya que se sigue programando en C :). Al fin y al cabo el error era una tontería :P.
-
Dev-C++ SI está obsoleto, y se ha acabado su desarrollo, lo dice en una nota en la propia web del software. Lo que ha salido es wxDev-C++ que da soporte a wxWidgets, y deriva de Dev-C++
Por supuesto puedes seguir usándolo, pero acuérdate de ir actualizando el compilador MinGW de vez en cuando, porque al final te vas a quedar atrás en algunas cosas ^^
¡Un abrazo!
PD: Siqui, estudia tanto C como C++, son prácticamente iguales, a excepción de algunas cosillas. De este modo te ayudará a entender muchos códigos, ya que se sigue programando en C :). Al fin y al cabo el error era una tontería :P.
Vale que su desarrollo no siga desde el 2002, pero para lo que Siquillote quiere le viene perfecto, y si no le ha dado ningún problema... ¿para que cambiar?
Incluso yo a veces todavía lo uso para compilar Nails en Windows y no me ha dado ningún problema.
Respecto a lo de estudiar...
Estudia C, y luego C++. El segundo es una expansión del primero, así que eso. Aunque tu pongas "aprender c++" en google, será como aprender c, no notarás la diferencia jaja
Saludos!
-
¡Bieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeen! Funciona en Dev-C++ ¡Os daré a todos un k+! jajajaja!
-
Traté de bajarme el qtCreator pero me lio mucho en la web de nokia, argggh
Igualmente Dev++ tiene todo lo que necesito, aunque últimamente no estuve mucho dentro de la programación :P ¡Mucha tarea!
-
Traté de bajarme el qtCreator pero me lio mucho en la web de nokia, argggh
Igualmente Dev++ tiene todo lo que necesito, aunque últimamente no estuve mucho dentro de la programación :P ¡Mucha tarea!
Está fantástico el qtCreator :D. Te dejo Karma+ Naveda ^^ (aunque a tu no te sirven. Te conectas a la base de datos y modificas los valores de tu karma xD). Nah, es mejor de lo que me pensaba. Interfaz muy bonita y amigable
Un abrazo.
PD: Tendrás que esperar a tu Karma, me equivoqué y le dí a Phys xD. Igualmente, también te lo mereces por la ayuda que das a los usuarios, así que también me sabe bien ;)