Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - eleon

#51
También había probado sin ".h" pero aun asi no funcionaba :S
#52
Programación C/C++ / Re: algoritmo¡¡¡¡
16 Febrero 2012, 14:13 PM
¿Pero cuál es tu duda?, ¿te salta algún error en el código o tienes problemas en aplicar las ecuaciones?; si es en el código lógicamente tendrás que ponerlo para buscar el error.

Saludos.
#53
Muchas gracias, ya había probado con el SDK de Qt y no me funcionaba, el problema estaba en que en la guía que uso se incluyen las librerías asi:

Código (cpp) [Seleccionar]
#include <QtGui/libreria.h>

Sin embargo mi directorio por defecto en Ubuntu es:

Código (cpp) [Seleccionar]
#include <qt4/QtGui/libreria.h>

Por eso no encontraba la librería.

Lo pongo por si le sirve a alguien. Saludos.
#54
Buenas:

¿Alguno me puede pasar links o comandos linux para descargar las librerías de Qt y OpenGL?. Llevo dias buscando por todos lados y probando con 8232 archivos y aplicaciones pero no hay forma de que me lea las librerías.

He instalado varias aplicaciones Qt que se supone que deben incluir las librerías ya que son para programar en él pero tampoco.

También os agradecería me dijérais en qué carpeta ponerla por tenerlo claro (tengo instalado Code::Blocks, VC++ y Dev-C++).

Gracias por adelantado. Saludos.
#55
Esto no es correcto:

Código (cpp) [Seleccionar]
            if (l<4.7)
            {
            cout<<"La tension introducida es mas baja a la indicada por el fabricant"<<endl;
            }
            else if (l<=4.7 && l <= 5.2)
            {
            cout<<"La tension introducida esta dentro los parametres del fabricante"<<endl;
            }
            if (5.2<l)
            {


Para un análisis de casos se deben cumplir dos condiciones:
1- Todas las posibilidades deben estar abarcadas.
2- Una posibilidad no puede aparecer en dos casos distintos.

Tanto el primer como el segundo if se ejecutarán si el valor de "l" es menor que 4.7, por tanto es erróneo. Además en el segundo if poner "l<=4.7 && l <= 5.2" es redundante, ya que si es menor que 4.7 también va a ser menor que 5.2.

Saludos.
#56
CitarBueno volviendo al caso del ejemplo de arriba. Aquí, tal y como lo has puesto si no introduces un valor que no esté comprendido dentro de los margenes no te lo deja introducir y a mi me interesaría que si te dejara introducirlo y posteriormente te dijese que está fuera de los rangos especificando si es inferior o superior.

Quita el bucle y pon condicionales, si es menor de 35 que imprima "tal", si es mayor que 80 que imprima "tal" y sino (ni menor de 35 ni mayor de 80, es decir, entre 35 y 80) que haga tal cosa.

No sé dónde podrías tener problemas, haz el código y luego pregunta dudas concretas.

Saludos.
#57
Claro porque estás intentando pasar una cadena por valor. Las matrices/tablas/vectores/cadenas (son lo mismo) no pueden pasarse a una función directamente, es como si intentaras hacer esto:

tabla1 = tabla2;

No se puede asignar una tabla a otra sino que hay que hacerlo elemento a elemento. Para pasar una tabla a una función debes usar paso por referencia.

Saludos.
#58
Programación C/C++ / Re: Funcion y puntero
8 Febrero 2012, 23:43 PM
Difícilmente se va a comprender qué hace el código si no pones un trozo completo donde se puedan ver las instrucciones; entre "ELEMENTO", "elemento", "elem", "OBJETO", "OBJETOS" y "objeto" te mareas después de leer dos líneas.

CitarSi quiero acceder a la primera funcion desde la segunda como debo de hacerlo, ya que he de meter la direccion de un array de objeto, yo he intentado:

buscarElementoEnObjeto(e, mc.OBJETOS[i])


donde i es un entero, pero no he conseguido hacerlo funcionar.

Todas las direcciones se devuelven con el operador Address-Of: &

Si quieres mandar la dirección de un elemento de un array que está dentro de una estructura debes poner: "&objeto.array [ i ]".

Saludos.
#59
Los constructores se pueden sobrecargar, es decir, puedes crear varios dentro de una misma clase teniendo todos el mismo nombre pero diferenciándose en el número o tipo de argumentos.

Lo que has hecho es correcto:

Código (cpp) [Seleccionar]
class caballo{
    public:
      caballo(){}
      caballo (int edad){suEdad = edad;}
      ~caballo(){}
    private:
      int suEdad;
};


CitarSi en el main creo un objeto caballo() sin parametros casca devolviendome "caballo()no es clase"

El compilador tomará el constructor "caballo(){}" como el de defecto, y por lo tanto para llamar a este no hay que poner "caballo objeto()" sino "caballo objeto" (sin paréntesis, ahi tu error).

CitarAlgo se me esta escapando...¿tengo que crear un destructor para cada constructor?¿la sintaxis?

A diferencia de los constructores, los destructores no se pueden sobrecargar, se crea uno por clase sin argumentos ni valor de retorno y ese es el que hay para destruir todos los objetos.

Te pongo un ejemplo para que veas cuándo se llama a cada cosa:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;


class caballo{
    public:
       caballo (int edad)
       {
           cout << "Llamando al constructor 1." << endl;
           suEdad = edad;
       }

       caballo ()
       {
           cout << "Llamando al constructor 2." << endl;
       }

       ~caballo()
       {
           cout << "Llamando al destructor." << endl;
       }

       int obtenerEdad () {return suEdad;};
   private:
       int suEdad;
};

int main()
{
   caballo objeto1 (12);
   caballo objeto2;

   cout << "Objeto 1: " << objeto1.obtenerEdad() << endl;
   cout << "Objeto 2: " << objeto2.obtenerEdad() << endl;

   cin;
   return 0;
}


Aqui te lo dejo sin los mensajes para no liarte:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;


class caballo{
    public:
       caballo (int edad){suEdad = edad;};
       caballo () {};
       ~caballo(){};

       int obtenerEdad () {return suEdad;};
   private:
       int suEdad;
};

int main()
{
   caballo objeto1 (12);
   caballo objeto2;

   cout << "Objeto 1: " << objeto1.obtenerEdad() << endl;
   cout << "Objeto 2: " << objeto2.obtenerEdad() << endl;

   cin;
   return 0;


Saludos.
#60
CitarMi problema es que no sé cómo hacer para que al cerrar el programa y volver a abrirlo sepa que ya he metido un número determinado de fichas (no sé si me explico). Creo que solo es con un do-while en el switch de "añadir datos", sumándole uno a "i", pero no estoy seguro.

Si con "cerrar al programa" te refieres a darle clic a la "cruz roja" matando el proceso, lógicamente no puedes hacer nada con variables porque se almacenan en la RAM que es una memoria volátil. En este caso debes leer el fichero y comprobar el número de contactos que hay (cada vez que leas un nombre sumas uno al contador hasta llegar al final, asi calcularás el número de elementos ya guardados).

Pero, si lo que quieres decir es después de guardar un contacto, es tan sencillo como un contador... y en el bucle que te va imprimiendo el menú pones como condición de continuación "contador < 100".

Tu código está hecho a base de librerías standard, queda feo que lo destroces con "system("pause")", aunque en general su uso no es correcto. Pon cualquier instrucción de lectura del teclado para pausar el programa.

Saludos.