1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

carregar dados

Discussão em 'Programação' iniciada por caeser, 3 de Janeiro de 2009. (Respostas: 0; Visualizações: 392)

  1. boas eu tenho um pequeno problema...estou a fazer um projecto em c++ e eu a dada altura uso uma funcao que me vai ler o ficheiro txt e carregar as informacoes para a memoria das listas neste caso vou ter uma lista de compartimentos e cada no dessa lista vai ter uma lista de senosores e cada sensor vai ter uma lista de eventos que ra executar quando o sensor estiver activo...eu leio do ficheiro e atravez de uma funcao dada na aula vou inserir essa informacao no inicio da lista.. o problema esta em que ele esta a ler tudo bem do ficheiro so que nao carrega para a memoria...ja vi o codigo mais de 100 vezes e ainda n precebi o k ta mal se me pudessem ajudar era mt bom abracos...


    Código:
    void Casa::LerFicheiros(char *nf)
    {
        ifstream f(nf);
        cout<<"vou ler os compartimentos"<<endl;
        while(!f.eof())
         {
            char Nocomp[10];
            f>>Nocomp; 
            cout<<"NomeCompartimento = " << Nocomp << endl;
            Compartimentos *Comp = CriarCompartimentos(Nocomp);
            if (Comp)
            {    
                Comp->LerFicheiro(f);
                Lc.InserirInicio(Comp);//Comp
                cout<<"insere na lista compartimentos"<<endl;
            }
            else cout << "Nao consegui criar o compartimento!  < "<< Nocomp << " >" << endl;
            system("pause");
        }
    }
    
    
    
    
    
    
    //----------------------------------------------------------------------------
    
    void Compartimentos::LerFicheiro(ifstream &f)
    { 
        int cont = 0;
        cout<<"Inicio do Ler Compartimento <"<<Nome<<">" << endl;
        char Lixo[50];
        char Nclasse[50];
        char Nevento[50];
        f >> Nclasse;
        while((!f.eof()) && !(strcmp(Nclasse,"*")==0))
        {
            cout << "Vamos Ler mais um sensor " << cont++ << endl;
                classP *o;
                o = CriarObjecto(Nclasse);
                if (o)
                {    
                    cout << "Criei o Sensor= " << Nclasse << endl;
                    o->LerFicheiro(f);
                    Listasensores->InserirInicio(o);//o
                }
                else cout << "Nao consegui criar o Sensor = " << Nclasse << endl;
                system("pause");
                f >> Nclasse;
        }
        cout<<"Fim do Ler Compartimento"<<endl;
    }
    
    
    
    //---------------------------------------------------------------------------
    
    
    
    ~char Nevento[50];
        
        
        f >> Nevento;
        
        
        while((!f.eof()) && !(strcmp(Nevento,"#")==0))
        {
            Evento *a = CriarEventos(Nevento);
            
            if (a)
            {    
                a->LerFicheiro(f);
                Listaeventos.InserirInicio(a);//a
                cout << "Criei o evento = " << Nevento << /*" Com o Codigo = " << a->codigo<<*/  endl;
            }
            else cout << "Nao consegui criar o objecto= " << Nevento << endl;
            //system("pause");
           
            f >> Nevento;
            // f >> codigos;
            
            cout << "Leitura do Nevento = " << Nevento << endl;
        }    
        cout<<"........Fim do <classP::LerFicheiro(ifstream &f)>"<<endl;
    }
    
    void classP::LerFicheiro2(char *nf)
    {    
        ifstream f(nf);
        cout<<"classP::LerFicheiro(char *nf)"<<endl;
        LerFicheiro2(f);
        f.close();
    }
    
    
    
     
    esta e a funcao k eu uso k vai saltando de classes em classes...
     
    Última edição pelo moderador: 5 de Janeiro de 2009

Partilhar esta Página