Anteprima
Vedrai una selezione di 1 pagina su 4
Programmazione I - tabella dinamica record Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ESERCIZIO n°1

Scrivere un programma che gestisce un array di record allocato dinamicamente. Il record è costituito da

un campo “chiave” e da un campo” valore”. Il programma effettua su tale struttura dati le seguenti

operazioni:

1) creazione della struttura

2) inserimento dei dati

3) stampa dei dati

4) distruzione della struttura

Organizzare il programma sui seguenti file:

1. Tabella.h: contiene la dichiarazione della struttura “Record”, la dichiarazione di un tipo

“Tabella” puntatore a “Record” e i prototipi delle 4 funzioni che implementano

rispettivamente le 4 funzionalità sopra elencate.

2. Tabella.cpp: Contiene l’implementazione delle 4 funzioni

3. Main.h: Contiene il programma “main” che dichiara una variabile “tabella” di tipo

Tabella, una variabile intera “num_entry” che rappresenta il numero di elementi

dell’array e chiama le funzioni producendo l’output mostrato nel seguente esempio di

esecuzione.

#ifndef _TABELLA_

#define _TABELLA_

#include <iostream.h>

struct Record {

char chiave;

int valore;

};

typedef Record * Tabella;

void crea_Tabella(Tabella &, int &);

void inserisci_dati(Tabella, const int);

void stampa_Tabella(const Tabella, const int);

void distruggi_Tabella(Tabella &);

#endif

#include "tabella.h"

void crea_Tabella(Tabella & t, int & dim) {

cout << "\n Creazione della Tabella. Quante entry? ";

cin >> dim;

t=new Record[dim];

cout << "\n Creata una Tabella con " << dim << "entry" << endl;

}

void inserisci_dati(Tabella t, const int dim) {

cout << "\n Inserimento dati nella Tabella."<< endl;

cout << "\n Ogni entry e' una coppia (chiave,valore)."<< endl;

cout << "\n La chiave deve essere un carattere alfabetico e il valore un numero intero."<< endl;

for (int i=0; i<dim; i++) {

cout << "\n Inserisci la entry di posizione " << i<< endl;

cout << "chiave? ";

cin >> t[i].chiave;

cout << "valore? ";

cin >> t[i].valore;

}

cout << "\n Inserimento terminato!" << endl;

}

void stampa_Tabella(const Tabella t, const int dim){

cout << "\n Stampa dei dati nella Tabella.";

for (int i=0; i<dim; i++) {

cout << "\n Entry di posizione" << i << ": ";

cout << "[" << t[i].chiave << ',' << t[i].valore << "]" << endl;

}

cout << "\n Stampa terminata!" << endl;

}

Dettagli
Publisher
A.A. 2012-2013
4 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Menzo di informazioni apprese con la frequenza delle lezioni di Programmazione 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Maresca Paolo.