Componenti - C#   Home Su OOP - C# Componenti - C#

                                                                                         


 

 

FILES DI TESTO            FILES BINARI

 

FILE DI TESTO

TomboleMatte

 

 

 

Soluzione

Progetto

La tombola matta è una variante del gioco della tombola in cui i numeri (con valori da 1 a 90) possono ripetersi (ma quelli da estrarre in una partita sono sempre 90).

Poniamoci come obiettivo implementare (parzialmente) una classe ‘TombolaMatta’ in grado di creare e gestire in un file di testo i 90 numeri di una partita. Poiché la classe dovrà essere utilizzata per sviluppare giochi in un ambiente con pochissima RAM non devono essere usate strutture dati come vettori o liste in RAM ma gestire ogni operazione usando file di testo.

Requisiti funzionali

L’utente di un oggetto di classe TombolaMatta dovrà poter:

  1. specificare al momento della creazione il file contenente i 90 numeri da generare a caso per quella partita; per default (nome del file non specificato) deve essere usato ‘numeri.txt’; a discrezione dell’utente della classe potrà essere specificato anche il nome del file per memorizzare i numeri già estratti (per default usare il file ‘estratti.txt’); nel caso l’utente indichi un solo nome di file considerarlo come il nome del file dei numeri generati
  2. comandare l’estrazione di un nuovo numero (in pratica verrà scelto il prossimo non usato dal file di testo che contiene tutti e 90 i numeri); il numero estratto deve essere aggiunto sul file dei numeri già estratti;
  3. comandare la ripresa di una vecchia partita

In ogni momento dovrà essere possibile ‘interrogare’ la classe per sapere:

  1. l’elenco dei numeri già usciti
  2. quante volte è già uscito un certo numero
  3. i numeri non ancora usciti

 

FILE BINARI

Pass e ritardi

 

 

 

Soluzione

Progetto

VideoEsercizio
(videolezione in cui sviluppo passo passo la soluzione!)

Implementare una classe che descrive un ‘pass’, il foglietto che in alcune scuole viene consente agli alunni in ritardo di entrare comunque in aula registrando l’evento. Nello stato interno mettere: cognome (string, 29 caratteri), ritardo (int32), data (string, 10 caratteri); realizzate l’accesso tramite properties.

Definire poi la classe ‘Ritardi’ per gestire un file di oggetti Pass: nello stato interno mettete il nome per un file di testo (ftesto) ed uno per un file binario (fbinario); mettete inoltre un vettore di 100 pass. Implementare poi i seguenti metodi:

- Travasa: legge i dati di nuovi pass eventualmente presenti nel file di testo e li aggiunge al vettore; se il vettore diventa pieno i pass in più vengono ignorati.
- Salva: trasferisce i pass dal vettore al file binario (che deve essere creato nuovo)
- Annulla: riceve la posizione nel file binario (1=primo, 2=secondo ecc.) di un pass che deve essere sovrascritto con spazi nei campi cognome e data e con il valore 0 nel campo ritardo.
- Cerca: riceve una data per localizzare sul file binario tutti i pass con quella data per azzerare i minuti di ritardo corrispondenti.
- Add per aggiungere un pass al vettore: se il vettore è diventato pieno lo stesso metodo prima lo ‘svuota’ salvando i pass in coda a quelli esistenti sul file binario.
- Export: salva sul file di testo i pass del vettore con ritardo superiore ad un certo numero di minuti.
- Aggiorna: riceve i nuovi dati e la posizione di un pass da aggiornare sul file binario.
- Azzera: riceve i dati vecchi di un pass che deve essere prima localizzato sul file binario per poi sovrascrivere tutti i sui campi (con spazi nei campi cognome e data e 0 come ritardo).


Tutti i marchi registrati e i nomi dei prodotti menzionati appartengono ai rispettivi proprietari.

Inviare a camuso@bigfoot.com un messaggio di posta elettronica contenente domande o commenti su questo sito Web.

Aggiornato il: 04-11-07.