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]
Scarica

Testo del 16/3/2009 .