Corso di Fondamenti di Informatica (A-L)
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/02/09
PROBLEMA (PUNTI 15)
Si vuole realizzare un registro di classe contenente al suo interno i voti di tutti gli studenti (5) per ogni corso (3),
con la possibilità di ordinare tali voti per ogni corso, e di stampare i nomi ed i voti degli studenti.
Tale progetto deve utilizzare il seguente menù:
1. Caricare da tastiera sul registro il cognome, nome e voto di ogni studente per ogni corso;
2. Ordinare in base ai voti i corsi, cosi da avere in cima alla lista del corso lo studente con il voto più alto ed
in fondo quello con il voto più basso (l'ordinamento bubblesort è consigliato);
3. Stampare a video i corsi contenuti nel registro;
4. Uscire dal menù;
#include <iostream>
#include <string>
using namespace std;
// Definizione di una struttura che rappresenta lo studente
struct studente
{
string nome;
string cognome;
int voto;
};
const int STUDENTI = 5; // Numero degli studenti
const int CORSI = 3; // Numero dei corsi
// definizione delle variabile di tipo studente
60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242
fax +39(71)2204835 - e-mail: [email protected]
Corso di Fondamenti di Informatica (A-L)
Prof Aldo Franco Dragoni
studente x;
studente registro[STUDENTI][CORSI];
// questa procedura legge da tastiera per ogni studente nome, cognome e voto per
// ogni uno dei tre corsi
void carica_registro(studente m[][CORSI])
{
}
// questa procedura ordina (BUBBLE SORT ordinamento consigliato) i voti degli
// studenti per ogni corso, lo studente con il voto più alto è il primo (in cima
// alla colonna) quello con il voto più basso è l'ultimo (in fondo alla colonna)
void ordina_registro(studente m[][CORSI])
{
}
// questa procedura stampa a video il contenuto del registro un corso alla volta
void stampa_registro(studente m[][CORSI])
{
}
int main()
{
}
ESEMPIO
CARICA VOTI NEL REGISTRO: c
ORDINA I VOTI DEI CORSI: o
STAMPA A VIDEO IL CONTENUTO DEL REGISTRO: s
USCITA DAL MENU': u
f
Hai digitato un carattere errato.
CARICA VOTI NEL REGISTRO: c
ORDINA I VOTI DEI CORSI: o
STAMPA A VIDEO IL CONTENUTO DEL REGISTRO: s
60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242
fax +39(71)2204835 - e-mail: [email protected]
Corso di Fondamenti di Informatica (A-L)
Prof Aldo Franco Dragoni
USCITA DAL MENU': u
c
Scrivi il cognome, nome e voti degli studenti, per ogni corso:
Inserire il cognome dello studente: Rossi
Inserire il nome dello studente: Mario
Inserire il voto per il corso 1: 35
Inserire il voto per il corso 2: 12
Inserire il voto per il corso 3: 22
Inserire il cognome dello studente: Biondi
Inserire il nome dello studente: Luca
Inserire il voto per il corso 1: 12
Inserire il voto per il corso 2: 35
Inserire il voto per il corso 3: 15
Inserire il cognome dello studente: Mari
Inserire il nome dello studente: Dino
Inserire il voto per il corso 1: 25
Inserire il voto per il corso 2: 24
Inserire il voto per il corso 3: 30
Inserire il cognome dello studente: Silla
Inserire il nome dello studente: Dario
Inserire il voto per il corso 1: 34
Inserire il voto per il corso 2: 16
Inserire il voto per il corso 3: 9
Inserire il cognome dello studente: Pizzi
Inserire il nome dello studente: Andrea
Inserire il voto per il corso 1: 23
Inserire il voto per il corso 2: 37
Inserire il voto per il corso 3: 16
CARICA VOTI NEL REGISTRO: c
ORDINA I VOTI DEI CORSI: o
STAMPA A VIDEO IL CONTENUTO DEL REGISTRO: s
USCITA DAL MENU': u
s
Le liste dei corsi sono:
Corso 1:
Studente: Rossi Mario
Voto: 35
60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242
fax +39(71)2204835 - e-mail: [email protected]
Corso di Fondamenti di Informatica (A-L)
Prof Aldo Franco Dragoni
Studente: Biondi Luca
Voto: 12
Studente: Mari Dino
Voto: 25
Studente: Silla Dario
Voto: 34
Studente: Pizzi Andrea
Voto: 23
Corso 2:
Studente: Rossi Mario
Voto: 12
Studente: Biondi Luca
Voto: 35
Studente: Mari Dino
Voto: 24
Studente: Silla Dario
Voto: 16
Studente: Pizzi Andrea
Voto: 37
Corso 3:
Studente: Rossi Mario
Voto: 22
Studente: Biondi Luca
Voto: 15
Studente: Mari Dino
Voto: 30
Studente: Silla Dario
Voto: 9
Studente: Pizzi Andrea
Voto: 16
CARICA VOTI NEL REGISTRO: c
ORDINA I VOTI DEI CORSI: o
STAMPA A VIDEO IL CONTENUTO DEL REGISTRO: s
USCITA DAL MENU': u
o
Ordinamento dei voti dei corsi in corso:
Ordinamento completato.
CARICA VOTI NEL REGISTRO: c
ORDINA I VOTI DEI CORSI: o
STAMPA A VIDEO IL CONTENUTO DEL REGISTRO: s
USCITA DAL MENU': u
60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242
fax +39(71)2204835 - e-mail: [email protected]
Corso di Fondamenti di Informatica (A-L)
Prof Aldo Franco Dragoni
s
Le liste dei corsi sono:
Corso 1:
Studente: Rossi Mario
Voto: 35
Studente: Silla Dario
Voto: 34
Studente: Mari Dino
Voto: 25
Studente: Pizzi Andrea
Voto: 23
Studente: Biondi Luca
Voto: 12
Corso 2:
Studente: Pizzi Andrea
Voto: 37
Studente: Biondi Luca
Voto: 35
Studente: Mari Dino
Voto: 24
Studente: Silla Dario
Voto: 16
Studente: Rossi Mario
Voto: 12
Corso 3:
Studente: Mari Dino
Voto: 30
Studente: Rossi Mario
Voto: 22
Studente: Pizzi Andrea
Voto: 16
Studente: Biondi Luca
Voto: 15
Studente: Silla Dario
Voto: 9
CARICA VOTI NEL REGISTRO: c
ORDINA I VOTI DEI CORSI: o
STAMPA A VIDEO IL CONTENUTO DEL REGISTRO: s
USCITA DAL MENU': u
u
60131 ANCONA - ITALY - Via Brecce Bianche - Segreteria phone +39(71)2204242
fax +39(71)2204835 - e-mail: [email protected]