Corso di Fondamenti di Informatica (M-Z) Prof Aldo Franco Dragoni Avvertenze • • • • • • • • • Consegnare solo fogli formato A4. Scrivere su un solo lato (no fronte-retro) In ordine di preferenza usare inchiostro nero, matita, inchiostro blu. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo di pagina rispetto al totale; esempio per il secondo foglio di 3 consegnati: Giuseppe Russo 2/3 Mantenere sul banco il libretto o altro documento di riconoscimento fino a controllo avvenuto Nient’altro deve trovarsi sul banco: non è consentito consultare libri, dispense, appunti, ecc. La correzione di riferimento per l’autovalutazione verrà fornita sul sito internet del Corso La consegna delle fotocopie dei compiti avverrà al termine della correzione Chi si presenta all’orale deve portare la propria soluzione, eventualmente corretta a penna rossa. Prova Scritta del 16/03/09 Scrivere un programma per costruire e gestire un agenda degli appuntamenti. Il programma può: 1. Inserire un nuovo appuntamento nell'agenda in maniera ordinata (crescente) rispetto alla data ed all'ora. 2. Stampare a schermo il primo appuntamento utile sulla base di una data ed un ora fornite da tastiera. 3. Uscire dal menù esclusivamente attraverso l'uso del carattere 'u'. #include <iostream> using namespace std; struct orario { int anno; short int mese; short int giorno; short int ore; }; struct appuntamento { char titolo[50]; orario ora; appuntamento* succ; }; typedef appuntamento* lista; // Questa funzione restituisce true solo se l'appuntamento passato al secondo membro è programmato dopo quello // puntato al primo membro bool anteriore(lista a, appuntamento b) { } // Questa procedura inserisce in agenda l'appuntamento passato al secondo membro in maniera ordinata rispetto alla data // ed all'orario in cui esso è programmato void inserisci_ordinatamente(lista& inizio, appuntamento e) { } // Questa funzione stampa a video il primo appuntamento in agenda successivo alla data ed all'ora inserite da tastiera 60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242 fax +39(71)2204835 - e-mail: [email protected] Corso di Fondamenti di Informatica (M-Z) Prof Aldo Franco Dragoni void trova_appuntamento_per_data(lista& inizio, appuntamento e) { } // Questa procedura riempie dall'input i campi dell'appuntamento passatole per riferimento void leggidati(appuntamento& a) { } // Corpo del programma int main() { } Una possibile esecuzione potrebbe essere: i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' a Scrivi la data e l'ora per vedere il primo appuntamento utile. Anno: 2009 Mese: 1 Giorno: 14 Ora: 16 Non ci sono appuntamenti i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' i Titolo: xxx Anno: 2009 Mese: 7 Giorno: 12 Ora: 13 i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' a Scrivi la data e l'ora per vedere il primo appuntamento utile. Anno: 2009 Mese: 7 Giorno: 13 Ora: 12 Non ci sono appuntamenti i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' a Scrivi la data e l'ora per vedere il primo appuntamento utile. Anno: 2009 Mese: 7 Giorno: 11 60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242 fax +39(71)2204835 - e-mail: [email protected] Corso di Fondamenti di Informatica (M-Z) Prof Aldo Franco Dragoni Ora: 12 Il primo appuntamento successivo alla data ed all'ora inserite e': xxx e' fissato per il giorno: 2009-7-12 per le ore: 13 i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' i Titolo: yyy Anno: 2009 Mese: 7 Giorno: 12 Ora: 10 i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' i Titolo: zzz Anno: 2009 Mese: 6 Giorno: 13 Ora: 15 i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' i Titolo: www Anno: 2009 Mese: 7 Giorno: 12 Ora: 12 i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' a Scrivi la data e l'ora per vedere il primo appuntamento utile. Anno: 2009 Mese: 7 Giorno: 12 Ora: 11 Il primo appuntamento successivo alla data ed all'ora inserite e': www e' fissato per il giorno: 2009-7-12 per le ore: 12 i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' a Scrivi la data e l'ora per vedere il primo appuntamento utile. Anno: 2009 Mese: 7 Giorno: 12 Ora: 10 Il primo appuntamento successivo alla data ed all'ora inserite e': yyy e' fissato per il giorno: 2009-7-12 per le ore: 10 60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242 fax +39(71)2204835 - e-mail: [email protected] Corso di Fondamenti di Informatica (M-Z) Prof Aldo Franco Dragoni i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' f Hai inserito un carattere non permesso usa solo quelli del menu' i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' a Scrivi la data e l'ora per vedere il primo appuntamento utile. Anno: 2010 Mese: 3 Giorno: 23 Ora: 12 Non ci sono appuntamenti i: per inserire un appuntamento in maniera ordinata a: per trovare il primo appuntamento dopo la data inserita u: per uscire dal menu' u 60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242 fax +39(71)2204835 - e-mail: [email protected]