Esercizio di programmazione

di il
1 risposte

Esercizio di programmazione

Salve ragazzi! sono alle prime armi con Java, ho l'esame a breve quindi ho deciso di svolgere qualche traccia che è stata data negli appelli scorsi....oggi mi sono imbattuto in questo esercizio che purtroppo non riesco a scolgere...
questa è la traccia:

Un'amministrazione comunale ha organizzato l'archivio dei propri cittadini come segue:
File "Anagrafica.txt" -4 righe per ogni cittadino (in ordine alfabetico per cognome)
-nome
-cognome
-codice fiscale
-data di nascita (DD/MM/YYYY)
File "RelFam.txt": associa ad ogni capofamiglia i familiari a carico - per ogni cittadino, tante triple quanti sono i familiari a carico
-codice fiscale capofamiglia
-codice fiscale familiare a carico
-relazione di parentela (es. coniuge, figlio...)
Anagrafica.txt
Mario
Rossi
RSSMXXXXXXXXXXXX
05/11/1980

...

Francesca
Russo
RSSFRXXXXXXXXXXXX
10/03/1950

...

RelFam.txt
...
...
RSSMXXXXXXXXXXXX
RSSFRXXXXXXXXXXX
coniuge
...
...
Scrivere un programma che:
-dati nome e cognome di un capogamiglia, ne stampi lo stato di famiglia;
-dati nome e cognome di un cittadino non capofamiglia, restituisca nome e cognome del capofamiglia del nucleo familiare cui appartiene il cittadino.
Per semplicità si assuma che la coppia nome e cognome individui univocamente un cittadino.



ho pensato di creare una classe "cittadini" i cui oggetti accettino i parametri nome, cognome, codice fiscale e data di nascita, tutti di tipo stringa, ho implementato i vari metodi get e un metodo toString poi in un'altra classe che ho chiamato Gestione ho messo il metodo main che legge dal file anagrafica.txt. Ho pensato di fare un confronto tra le righe del file corrispondenti al nome e al cognome e quelli immessi da tastiera, poi prendere il codice fiscale e leggere le righe del secondo file fino a trovarlo per stampare infine lo stato di famiglia.
Come vedete non ho le idee molto chiare e non so come fare...avevo pensato di creare una collezione di oggetti di tipo Cittadino ma così facendo non capisco a che servano i file
se poi devo creare io gli oggetti...qualcuno è disposto a darmi una mano?

1 Risposte

  • Re: Esercizio di programmazione

    Ciao premesso che ogni problema di programmazione ha generalmente tante possibili soluzioni, dipende da uno come interpreta il problema, io seguire la tua strada.

    Cioè alla classe Cittadino da te citata aggiungerei altri due campi "capofamiglia" e "cittadiniacarico" di tipo rispettivamente Cittadino e List<Cittadino>. Il primo sarà il riferimento al cittadino capofamiglia di un cittadino che è a carico e il secondo contiene la lista dei cittadini a carico di un cittadino capofamiglia.

    Sempre nella tua classe Gestione, nel main:
    1) dichiarerei un List<Cittadino> che andrei a riempire dalla lettura del primo file
    2)Aprirei il secondo file per andare a settare le variabili "capofamiglia" e "cittadiniacarico" per ogni cittadino che sia capofamiglia oppure una persona a carico.

    Questa fase ti permette di "scongelare" i dati memorizzati su file e portarteli in memoria, in modo che quando l'utente inserisce nome e congnome non sei costretto a leggere i due file per trovare un cittaidno e scoprire se è capofamiglia o a carico ecc .. ma a lavorare direttamente sulla struttura dati List<Cittadino> definita e riempita nel main.

    Non so se mi sono spiegato fammi sapere
Devi accedere o registrarti per scrivere nel forum
1 risposte