PDA

Visualizza la versione completa : [C++] file sequenziali con chiavi


Salvatore_91
10-04-2009, 11:43
Ciao raga, io dovorei fare un esercizio che gestica una rubrica telefonica con i file sequenziali per chiavi.
Ora mi chiedevo come devo fare?

La teoria la conosco: una chiave è un campo che identifica unvicomente un solo record.

Come devo strutturare il programma?
Io avevo pensato di fare che il N° progressivo e' la prima chiave.
E la seconda chiave, il nome(dei contatti della rubrica).

Adesso non so come strutturare il programma per fare cio??

Mi date una mano?

Salvatore_91
15-04-2009, 12:41
non c'e' nessuno ke mi puo' aiutare?

LeleFT
15-04-2009, 13:44
No, una chiave non è un campo che identifica un solo record, ma, più precisamente, è una tupla (ovvero un insieme di campi, non necessariamente uno solo) che identifica univocamente un record.

Se devi gestire una rubrica hai diverse possibilità. La più semplice consiste nel fare in modo che la chiave sia, effettivamente, il campo ID del singolo record (se ciascun record prevede un ID).

Poi, se proprio vuoi, potresti costruire un secondo indice sul campo "cognome" (o sul campo "Cognome e nome" se è uno solo), ma questo sarebbe solo un indice, non una chiave primaria (ciascuna tabella può avere una sola chiave primaria).


Ciao. :ciauz:

Salvatore_91
15-04-2009, 14:25
cosa vuoi dire con campo ID ???? cos'e' ID??

oregon
15-04-2009, 14:29
Mi sembra che non sia un argomento completamente affrontabile in un thread di un forum ...

LeleFT
15-04-2009, 14:43
Originariamente inviato da Salvatore_91
cosa vuoi dire con campo ID ???? cos'e' ID??

ID significa Identifier. Solitamente una tabella come quella che hai descritto è composta da una serie di campi, che, ridotti all'osso, potrebbero essere i seguenti:

ID (un numero che identifica univocamente l'intero record: Identifier!)
Cognome
Nome
Telefono
Fax
Cell
E-Mail


Ad ogni modo, se il tuo problema è quello di trovare una struttura dati in grado di manipolare file sequenziali ad indice, teniamo aperto l'argomento. Se dobbiamo approfondire l'argomento chiavi primarie / relazioni / indicizzazioni e quant'altro, siamo già OffTopic.


Ciao. :ciauz:

Salvatore_91
16-04-2009, 19:09
Ma come si dichiara (a livello di sintassi) un campo, in modo tale che esso sia una CHIAVE.????

oregon
16-04-2009, 19:14
Non c'e' una sintassi particolare. E' un campo normale.

E' come lo usi che lo rende una "chiave" ...

Salvatore_91
16-04-2009, 19:25
ah, io pensavo che ci fosse una particolare sintassi.
Specificamente io vorrei fare ad esempio che il numero telefonico (della Rubrica) e' una chiave.
A livello di pseudo linguaggio, come lo dovrei trattare??

oregon
16-04-2009, 20:54
La chiave e' un campo che devi tenere ordinato.

Scrivi un file con tutti i tuoi record inseriti cosi' come ti arrivano.

Scrivi un secondo file con i campi chiave ordinati associati al numero di record (che usi come ID).

Loading