Esame di Fondamenti di Informatica
(Ing. Gestionale, Logistica e Produzione, Organizzazione)
Prova scritta di programmazione (24 febbraio 2014)
Ogni anno, a carnevale, viene organizzata una lotteria che attira molte migliaia di persone. Ciascuna persona pu`o acquistare uno o pi`u biglietti, identificati da un numero di serie, ed il giorno dell’estrazione vengono definiti i numeri di serie dei 10 biglietti vincenti.
Il numero di serie di un biglietto `e composto da una sequenza di 8 caratteri alfanumerici (esempio:R233WS65).
Un file di testo contiene l’elenco dei 10 biglietti vincenti, uno per riga, nel seguente formato:
• un numero intero tra 1 e 10, che indica l’ordine di estrazione (dal primo premio al decimo premio);
• il numero di serie del biglietto;
• il valore in denaro della vincita, espresso in euro.
Il nome del file `evincite.txt.
Scrivere un programma in linguaggio C che permetta ad un utente di immettere sulla linea di comando uno o pi`u numeri di serie, corrispondenti ai propri biglietti. Il programma visualizzer`a le informazioni sui biglietti effettivamente vincenti, ed il valore totale dell’eventuale vincita.
Esempio
Si consideri il filevincite.txtcol seguente contenuto (per brevit`a sono elencati solo 5 biglietti, il file reale contiene invece 10 biglietti):
1 A12S4K67 10000 2 R87GB768 5000 3 Q12ZZ12Z 3000 4 Z99CE99F 2000 5 F311201F 1000
Se il programma (denominatolotteria) venisse attivato come
lotteria N6776676 Z99CE99F W0001110 R87GB768 allora dovrebbe produrre il seguente output:
Biglietto Z99CE99F vincitore n. 4: 2000 euro Biglietto R87GB768 vincitore n. 2: 5000 euro Vincita totale: 7000 euro
Se invece il programma venisse attivato come
lotteria N677JM76 W000111W S333X221 allora dovrebbe produrre il seguente output:
Nessun biglietto vincente Vincita totale: 0 euro