Approccio esercizio

di il
42 risposte

Approccio esercizio

Salve, devo svolgere questo esercizio : https://docs.google.com/file/d/1m_8x8Cz3t_curUFAKu083JIZPMreoJOa2SQdkmM_0PLn697mtIizPWY_s05m/edit

il fatto che devo poter cancellare un elemento significa che devo costruire una lista?
altrimenti come faccio a tener traccia di un singolo elemento ?

42 Risposte

  • Re: Approccio esercizio

    Non riesco a leggere il testo dell'esercizio ...
  • Re: Approccio esercizio

    Siete il proprietario di un ferramenta e avete bisogno di mantenere un inventario che possa dirvi quali e
    quanti attrezzi avete ed il costo di ognuno di essi. Scrivere un programma che inizializzi il file
    "hardware.dat" con 100 record vuoti, vi consenta di immettere i dati relativi ad ogni attrezzo, vi dia la
    possibilità di elencarli tutti, vi lasci eleminare il record per un attrezzo che non avete più e vi permetta di
    aggiornare qualsiasi informazione del file. Il numero di identificazione dell'attrezzo sarà anche quello del
    record.
  • Re: Approccio esercizio

    Da quello che si legge e capisce dal testo dovresti gestire il file organizzandolo in record.

    Dovresti quindi usare una struttura per i tuoi dati in modo di scrivere ogni entry in un record a lunghezza fissa nel file.
  • Re: Approccio esercizio

    Come faccio a gestire i singoli campi?
    come individuo un nodo?
    devo usare una struttura tipo una lista?
  • Re: Approccio esercizio

    poel ha scritto:


    come faccio a gestire i singoli campi?
    come individuo un nodo?
    Devi usare una struttura (struct) per i dati.
    devo usare una struttura tipo una lista?
    Sarebbe un modo comodo di rappresentare i dati in memoria.
  • Re: Approccio esercizio

    Altrimenti come potrei fare?
  • Re: Approccio esercizio

    Ho provato in questo modo:
    
    class oggetto{
        friend ostream& operator<< (ostream &out, oggetto &cPoint);
    public:
        oggetto(int i=0,const string & n="null");
       void insert();
        
    private:
        int id;
        string nome;
        
    };
    
    
    struct record{
        oggetto  obj;
        int     identificatore;
        
    };
    
    typedef record inventario[100];
    
    
    ma nel main se scrivo :
    inventario[1].identificatore=1;
    mi da errore (expected unqualified id)
  • Re: Approccio esercizio

    poel ha scritto:


    altrimenti come potrei fare?
    Altrimenti perché ? Non ti vanno bene le liste ?
  • Re: Approccio esercizio

    In realtà poi ho pensato ad un arrey di record non e' richiesto esplicitamente di usare le liste quindi per questo esercizio vorrei evitare, e sto cercando di ricordare come implementare gli array di record e in particolare con gli oggetti, hai visto il messaggio che ti ho postato riguardante il listato? Riesci ad individuare quale è il problema ?
  • Re: Approccio esercizio

    Evita quel typedef e scrivi
    
    typedef struct
    {
        oggetto  obj;
        int     identificatore;
    } record;
    
    record inventario[100];
    
  • Re: Approccio esercizio

    Mi da un errore qui :

    typedef struct{
    oggetto obj;
    int identificatore;
    }record; //multiple definition of 'inventario'

    record inventario[100];
  • Re: Approccio esercizio

    Ma hai eliminato la vecchia typedef ?
  • Re: Approccio esercizio

    Se sei in C++ non c'è bisogno per niente neanche del typedef per lo struct.
    struct{
    oggetto obj;
    int identificatore;
    }record;
    Ma la quantità degli attrezzi non te lo chiede l'esercizio? Non è il caso di dividere gli oggetti per identificatore (tipo) diverso. Supponiamo hai 3 martelli e 4 cazzuole. Non sarebbe megglio avere solo due strutture con quantità diverse per gli oggetti e non 7 strutture tutte mescolate?
  • Re: Approccio esercizio

    Per il numero di cazzuole e martelli metto un un membro della classe intero, non ho capito qual'è il problema, in ogni caso quella che mi hai fatto vedere tu è la struct, ma come faccio a fare un array di struct?
Devi accedere o registrarti per scrivere nel forum
42 risposte