LABORATORIO DI INFORMATICA L-A
APPELLO DEL 01/04/2003
ESERCIZIO 1
È dato un file di testo che contiene le schedine vincenti del totocalcio per
un certo numero di partite.
Il file contiene al massimo 20 righe e ogni riga contiene:
- La data della schedina nel formato gg/mm/aaaa
- Una stringa di risultati: 13 caratteri in cui ogni carattere può essere
1, 2 o X
Si chiede di scrivere un programma C, conteggio,
con le seguenti caratteristiche:
Il programma dovrà essere suddiviso in 3 file.
- funzioni.h: dovrà contenere le definizioni dei tipi e le
dichiarazioni delle funzioni sotto descritte
- funzioni.c: dovrà contenere le definizioni delle funzioni
dichiarate in funzioni.h
- main.c: dovrà contenere solo la funzione main()
Il programma dovrà comprendere:
Tipi di strutture
- schedina che contiene i
dati di schedina (giorno, mese, anno, risultati e
un numero intero num, che servirà per i conteggi successivi)
- schedine che contiene un array di
strutture di tipo schedina e il numero di schedine effettivamente lette.
Funzioni e procedure
- funzione denominata leggi(): dato il nome
di un file riempie una struttura di tipo schedine contenente le righe lette dal
file. La funzione restituisce 1 se l'operazione è andata a buon fine,
altrimenti restituisce 0.
- funzione denominata conta(): data una stringa di risultati
restituisce il numero di vittorie in casa
(carattere 1)
- procedura denominata elabora() che elabora una struttura di tipo
schedine e mette per ogni schedina il numero ottenuto applicando
la funzione conta()
- funzione denominata scrivi() che scrive in un file di testo,
il cui nome viene passato come parametro, una riga per ogni
schedina con il formato
- aaaa/mm/gg (attenzione il formato è diverso
da quello letto dal file!)
- Uno spazio
- Il numero di vittorie in casa per quella data
La funzione restituisce 1 se l'operazione è andata a buon fine, altrimenti
restituisce 0.
Il programma, utilizzando le suddette funzioni, dovrà:
- Leggere il file SCHEDINE.TXT - usando la funzione leggi() ) segnalando a video eventuali problemi
- Usare la procedura elabora() per determinare il numero di vittorie
in casa per ogni schedina
- Scrivere nel file di testo STAT.TXT, usando la funzione scrivi(),
il risultato dell'elaborazione fatta dalla procedura elabora(), segnalando
a video eventuali problemi.