Aiuto creazione programma c++

di il
4 risposte

Aiuto creazione programma c++

Ho creato questo programma in c++
main :
#include "table.h"
int main ()

{ 

char Val; 


     
     while(true)
     {
	  cout<<"\n\n";
	  cout<<"\n _________________________ ";
	  cout<<"\n°                         °";
	  cout<<"\n°---------- MENU: --------°";
	  cout<<"\n°_________________________°";
	  cout<<"\n|                         |";
 	  cout<<"\n| c)rea struttura         |";
 	  cout<<"\n| m)odifica struttura     |";
 	  cout<<"\n| crea r)ecord            |";
	  cout<<"\n| l)unghezza              |";
      cout<<"\n| e)sporta                |";
	  cout<<"\n| i)mporta                |";
	  cout<<"\n| q)uery                  |";
      cout<<"\n| f)ine                   |";
	  cout<<"\n°_________________________°";
	  cout<<"\n°                         °";
	  cout<<"\n°     Cosa vuoi fare?     °";
	  cout<<"\n°_________________________°";
 	  cin>>Val;
	  
	  switch (Val)
 	  {
       case 'f':
 	     
       case 'c':
       
	    break;
       case 'm':
 	 
		break;
       case 'r':
 	   // CreaRecord(RecordCampo);
 	    break;
       case 'l':
            //unghezza(RecordCampo);
	    break;
       case 'e':
           // Esporta(RecordCampo);
            break;
       case 'i':
	    //Importa(RecordCampo);
	    break;
       case 'q':
            //Query(RecordCampo);
            break;       	 
       default:
	    
	    break;

}
  } return 0;
      }  
creando anche i file .h record e table .
il mio problema è che non riesco a inserire le funzioniche ho scritto nei file .h nel main , mi hanno detto che devo richiamarle scrivendo tabella.<nome della funzione>(variabili funzione) ... ma non riesco proprio a finire questo programma, vi prego help
#include "record.h"

using namespace std;
class tabella {
public:
       bool addrecord(string record);//aggiunge un record (una nuova riga) alla tabella
       bool addfield(string campo);  //aggiunge a TUTTI i record contenuti un campo di nome "campo"
       int length();// restituisce il numero di righe della tabella
       tabella select(string campo,string op,string val); //applica l'operatore di confronto 
       string tostring(); //restituisce una stringa che rappresenta i contenuti della tabella 
private:
     vector <record> tabella;};
#include "table.h"

using namespace std;

bool tabella::addfield(string campo){
for (int i=0 ; i<tabella.size;i++){
    tab[i]addfield(campo)}
    return true;
};
    

bool record::addrecord(string record){
for (int i=0; i< tabella[0].size; i++)
rec.addfield(tabella[0].readfield(i))
tabella.push_back(rec);
return true;
};

int tabella:: length(){
return tabella.size();
};

tabella tabella::select(string campo,string  op,string val)
{ record rec;
  tabella t;
 tab.tabella.push_back(rec);
        
      if (op=="="){
      for (int i=0; i<t.size;i++){
      if (tab[i].read(campo)==val)t.tab.pushback(tab[i])
      }
        }
        else if (op=="<"){
      for (int i=0; i<t.size;i++){
      if (tab[i].read(campo) "<" val)t.tab.pushback(tab[i])
      }
        }
        else if (op=="<="){
      for (int i=0; i<t.size;i++){
      if (tab[i].read(campo) "<=" val)t.tab.pushback(tab[i])
      }
        }
        else if (op==">"){
      for (int i=0; i<t.size;i++){
      if (tab[i].read(campo) ">" val)t.tab.pushback(tab[i])
      }
        }
        else if (op==">="){
      for (int i=0; i<t.size;i++){
      if (tab[i].read(campo) ">=" val)t.tab.pushback(tab[i])
      }
        }
        else if (op=="!="){
      for (int i=0; i<t.size;i++){
      if (tab[i].read(campo) "!=" val)t.tab.pushback(tab[i])
      }
        }
      
    else (cout<<"operatore non valido/n" 
        
    return t;
};



string tabella::tostring();
{
stringa str;
str += tab[0].tostringcampi () "\n";
for (int=0; i<tabella.size();i++){
str += tab[0].contenuto() endl + "\n";
};
return str;
};
#include <iostream>
#include <string>
#include <vector>

using namespace std;

class record {
public:
    record ();
    bool addfield(string campo);  // aggiunge al record un campo di nome "campo"
    bool write(string campo, string contenuto); // scrive la stringa "contenuto" nel campo di nome "campo"
    string read(string campo); // restituisce il valore del campo
    string tostringcampi ();
    string tostringcontenuti ();
    string readfield (int i);
    int size (); // restituisce il numero di righe della tabella
  
    private:
            struct cella{
                   string campo;
                   string contenuto;};
                   
          vector <cella> riga;};
#include "record.h"

record::record(){
cella rec;
rec campo="id";
rec contenuto= "0";
riga.push_back(rec);
}

bool record::addfield(string campo){   // aggiunge al record un campo di nome "campo"
for (int i=0; i<riga.size(); i++){
if (riga[i].campo == campo) return false ;
}
cella rec;
rec campo= "id";
rec contenuto= "0";
riga.push_back(rec);
return true ;
};

string record::tostringcontenuti ()
string str= " ";
for (int i=0; i<riga.size(); i++){
str += string (20 - riga[i].campo.length(), "  ") +riga[i].contenuto;
return str;
};
string record::tostringcampi ()
string str= " ";
for (int i=0; i<riga.size(); i++){
str += string (20 - riga[i].campo.length(), "  ") +riga[i].campi;
return str;
};
bool record::write(string campo, string contenuto) // scrive la stringa "contenuto" nel campo di nome "campo"
for (int i=0; i<riga.size(); i++){
if (riga[i].campo == campo){ riga[i].contenuto=contenuto;
return true: };
return false;
};


string record::read(string campo)// restituisce il valore del campo "campo"
for (int i=0; i<riga.size(); i++){
if (riga[i].campo == campo) riga[i].contenuto ;}
return ERROR;
};

string record::readfield ( int i){
return riga[i].campo;
};

int record::size (){
    return riga.size;
};

4 Risposte

  • Re: Aiuto creazione programma c++

    Va bene un aiuto o un consiglio, ma la domanda la devi fare più chiaramente ... non si capisce il problema che hai ...
  • Re: Aiuto creazione programma c++

    Come faccio ad usare le funzioniche ho scritto nei file table.cpp e record.cpp nel main per farle usare a un eventuale utente?
  • Re: Aiuto creazione programma c++

    Non so con cosa lavori ma crea un progetto, aggiungi tutti i file .cpp, inserisci gli include nel main e compila il progetto.
  • Re: Aiuto creazione programma c++

    Ok ho rivisto il main e il record.cpp.
    nel main ho creato uno switch per gestire le varie funzioni, tipo aggiungere un record, agiungere un campo , restituire valori e cosi via, il problema è che non so come strutturare i case dello switch in modo che , ad esempio, il case 'r' se selezionato dall'utente mi usi la funzione bool record::addfield(string campo) che aggiunge al record un campo di nome "campo"
Devi accedere o registrarti per scrivere nel forum
4 risposte