elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Re: Problema con fstream en c++ en: 14 Febrero 2012, 11:58 am
Muchisimas gracias por contestar; y aunque no me salen mas fallos sigue sin hacerlo bien. De todas formas gracias.
2  Programación / Programación C/C++ / Re: Problema con fstream en c++ en: 9 Febrero 2012, 13:37 pm
Lo primero gracias por responder; he utilizado const y ya compila pero colocando un cout<<m[j] en la linea 38 compruebo que no hace los que esperaba, asi que sigo sin saber donde esta el fallo....
3  Programación / Programación C/C++ / Problema con fstream en c++ en: 6 Febrero 2012, 20:57 pm
Buenas a todos, estoy haciendo un juego y una clase me da error, y no se a que se debe; la función debería leer de un archivo números de 5 cifras, después almacenarlos en una matriz de 4 columnas por un numero de filas que es el primer numero del archivo.
A ver si me podéis ayudar a arreglar el código.

Código:
#include <iostream>
#include <fstream>
using namespace std;

class matriz
{
    public:
    int filas;
    char cadena[5];
    int **m;

    void leer(char* s)
    {
        //abrimos
        ifstream fe;
        fe.open(s,ios::in);
        if(!fe)
        {
            cout<<"fallo"<<endl;
        }
        //leemos
        //con la primera linea sacamos las filas
        fe.getline(cadena,6);
        //para pasar la cadena a un int
        filas=(cadena[0]-48)*10000+(cadena[1]-48)*1000+(cadena[2]-48)*100+(cadena[3]-48)*10+(cadena[4]-48);
        //iniciamos la matriz
         m=new int *[filas];
        for(int i=0;i<=filas;i++)
        {
            m[i]=new int[4];
        }
        //seguimos leyendo
        for(int i=0;i<filas;i++)
        {
            for(int j=0;j<4;j++)
            {
                fe.getline(cadena,6);
                m[i][j]=(cadena[0]-48)*10000+(cadena[1]-48)*1000+(cadena[2]-48)*100+(cadena[3]-48)*10+(cadena[4]-48);

            }
        }
        fe.close();
    }

    void destruir()
    {
         for(int i=0;i<=filas;i++)
        {
            delete [] m[i];
        }
        delete [] m;
    }

};

int main()
{
    matriz matriz1;
    matriz1.leer("mapa1.txt");
    matriz1.destruir();
    return 0;
}

Gracias a todos por adelantado.
4  Programación / Programación C/C++ / Re: Ayuda!! :clases y funciones en: 24 Enero 2012, 19:10 pm
Muchas gracias de todas formas!
5  Programación / Programación C/C++ / Re: Ayuda!! :clases y funciones en: 24 Enero 2012, 19:03 pm
lo que digo es que como lo hago si necesito que una funcion cree una instancia
6  Programación / Programación C/C++ / Re: Ayuda!! :clases y funciones en: 24 Enero 2012, 18:54 pm
Muchas gracias, pero otra cosa, según tengo entendido para declarar instancias globales las tengo que declarar fuera del main, debajo de la declaración de las clases, pero si necesito hacerlo dentro de una función o en otro lado, como lo hago?¿
7  Programación / Programación C/C++ / Re: Ayuda!! :clases y funciones en: 24 Enero 2012, 18:43 pm
Es que el programa es realmente largo, pero he probado haciendolo con programitas mas simples a ver si funcionaba. Es así, no tiene mas:
Código:
#include <iostream>
class Clase
{
    public:
    int x;

};
int funcion();
int main()
{
    Clase clase1;
    funcion();
return 0;
}

int funcion()
{
   clase1.x =3
return 0;
}


me sale
In function 'int funcion()':
Line 19: error: 'clase1' was not declared in this scope
compilation terminated due to -Wfatal-errors.

y si la paso como parámetro no, pero no puedo pasarle 10 instancias a cada clase.....
8  Programación / Programación C/C++ / Ayuda!! :clases y funciones [SOLUCIONADO] en: 24 Enero 2012, 18:08 pm
Hola a todos, tengo un programa con varias clases y funciones (que hacen referencia a instancias de estas clases) pero al compilar me salta error a menos de pase las instancias como parámetro de la función; pero tengo muchas funciones y muchas clases. Tiene que haber alguna manera de hacerlo más fácil, pero acabo de empezar con c++ y no se hacerlo, espero que me podáis ayudar, gracias a todos por adelantado
9  Programación / Programación C/C++ / Re: no se declaro en este ambito en: 21 Enero 2012, 20:24 pm
Muchas gracias!

EI: juntando mensajes.

Necesitas pasarle el objecto a funciçon para que esta pueda operar con él.

función pasaría a ser de este modo:
Código
  1. int funcion(Clase clase)

de todos modos, cada clase que use en una funcion la tengo que pasar como parametro?¿¿
no hay otro modo¿?
10  Programación / Programación C/C++ / no se declaro en este ambito [SOLUCIONADO] en: 21 Enero 2012, 19:51 pm
Hola soy muy novato en c++  y al compilar el siguiente codigo me da error, a ver si me podeis ayudar:

Código:
#include <iostream>


class Clase
{
    private:
    int a;

    public:
    void seta(int w){a=w;};
    int geta(){return a;};
};


int funcion();

int main()
{
    Clase clase;
    funcion();
    clase.seta(1);
    return 0;
}


int funcion()
{
    clase.seta(2); ////////////////////////////////////////en esta linea//////////////////////////////////////

    return 0;
}


me salta "error: ‘clase’ no se declaró en este ámbito"


seguro que es una tonteria, gracias por adelantado!
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines