Definire una struct automobile che permetta di memorizzar il targa, la marca, il modello, il numero di kw, l’anno di immatricolazione di una automobile e l’anno dell’ultima revisione.
Definire una funzione calcola_bollo che ricevendo un numero di kw restituisca come valore di ritorno l’importo da pagare. (il coefficiente per il calcolo per i primi 100 kw è 2.58, per ogni kw successivo è 3.87)
Definire una funzione scambia che ricevendo due parametri di tipo struct automobile scambi il contenuto delle due strutture (Attenzione! I due parametri hanno entrambi un ruolo sia di input che di output)
Scrivere un programma che definisca una variabile auto necessaria per memorizzare i dati relativi a delle automobili.
Il programma deve inizializzare la variabile auto memorizzando i dati relativi a n auto.
Successivamente, attraverso un menù di scelta ripetuto, il programma deve permettere di:
visualizzare l’elenco delle auto di una data marca
ordinare l’elenco per valori crescenti di kw (usare la funzione scambia)
data una targa visualizzare i dati di quell’auto e successivamente modificare l’anno dell’ultima revisione dell’auto con quella targa
per ogni auto, chiamando opportunamente la funzione calcola_bollo, calcolare e visualizzare l’importo del bollo da pagare.
determinare qual è l’anno di immatricolazione più vecchio (il minore) fra tutte le auto
salvare in un vettore di stringhe le targhe di tutte le automobili Aggiungere nel programma la seguente struttura:
struct marche {
char nome[30];
int numero;
};
Definire un vettore di nome vett_marche che contiene elementi dei tipo struct marche ed inizializzarlo secondo la seguente regola:
A partire dal vettore macchine, per ogni macchina:
Cercare la sua marca in vett_marche
- Se non c’è aggiungo una nuova struct marche con la marca cercata ed il impostare il valore 0 nel campo numero
altrimenti
- Incrementare il valore il campo numero di 1 Successivamente visualizzare il vettore vett_marche.