Io userei due tabelle e aggiungerei dei campi:
codice:
Tabella stagioni
-----------------------------
idStagione Stagione
1 bassa
2 media
3 alta
Tabella periodi
-------------------------------
idPeriodo GiornoInizio MeseInizio GiornoFine MeseFine Stagione
1 1 1 31 3 1
2 1 4 30 6 2
3 1 8 30 9 3
4 1 10 31 12 2
Poi devi controllare in quale periodo inizia il noleggio confrontando mese e giorno della data di inizio con i record della tabella periodi, memorizzando da qualche parte se il valore della stagione corrispondente è bassa media o alta.
Poi controlli che la fine sia prima nello stesso anno, poi nello stesso periodo: se è così, moltiplichi la tariffa corrispondente per il numero di giorni di noleggio; se non è così, la moltiplicazione la fai contando i giorni dalla data d'inizio alla data di fine periodo, mettendo il risultato in una variabile di appoggio, poi consideri come nuova data di inizio, la data iniziale del periodo successivo, poi ricominci il procedimento di questo paragrafo, sommando i risultati nella stessa variabile di appoggio.
Questo ragionamento devi adattarlo ai meccanismi della ricorsione, per risolverlo correttamente.
Buon lavoro!