22 settembre 2006
Fondamenti di Informatica 1 - Compito A
Prof. Marco Gavanelli
22 Settembre 2006
Esercizio (16 punti)
Lo stabilimento balneare Aringa usa fare credito ai propri clienti. Ogni volta che un cliente compra a credito, viene memorizzato il suo cognome ed il costo dell'acquisto in un file di testo CREDITI.TXT . I dati presenti nel file sono i seguenti
- cognome (stringa di 20 caratteri, senza spazi)
- costo (int)
Per ogni cliente possono esserci più acquisti. Il file contiene al più 100 elementi.
Si desidera visualizzare a video il debito totale di ciascuno dei clienti, usando il seguente algoritmo:
- Si definisca una funzione ricerca (che verrà invocata nel punto 2) che prende in ingresso
- un cliente
- un array di clienti (cioè array di strutture cognome, costo)
- se il cliente è presente, la funzione restituisce la posizione (l'indice) del cliente nell'array
- altrimenti, la funzione restituisce -1;
- Si definisca una procedura inserimento (che verrà invocata nel punto 3) che prende in ingresso
- un cliente
- un array di clienti
- se il cliente non è presente nell'array, lo inserisce in fondo all'array;
- altrimenti (se il cliente è già presente nell'array), sostituisce il costo riportato nell'array con la somma dei due costi (quello nella variabile cliente e quello riportato nell'array per quel cliente).
ROSSI 10 BIANCHI 20 (dati non significativi) ... (dati non significativi) ... ... ... ROSSI 10 BIANCHI 25 (dati non significativi) ... (dati non significativi) ... ... ... ROSSI 10 BIANCHI 25 VERDI 8 (dati non significativi) ... ... ... - Nel main, si leggano gli elementi del file e li si inseriscano nell'array, invocando la procedura inserimento definita al punto 2 per ciascun elemento del file.
- Si stampi a video il contenuto dell'array.
Ad esempio, se il file CREDITI.TXT contiene i seguenti dati
ROSSI | 10 |
BIANCHI | 20 |
BIANCHI | 5 |
VERDI | 8 |
ROSSI | 3 |
il programma dovrà visualizzare:
ROSSI 13
BIANCHI 25
VERDI 8