Il 11/04/2013 20.17, Vincenzo Mercuri ha scritto:
> esiste una traccia originale di questo esercizio?
ciao,
anche se sono completamente inesperto e alle primissime armi ho avuto
circa i tuoi stessi dubbi leggendo il testo.
Ho provato comunque a interpretarlo e a scrivere il codice, per motivi
che non sto a dirti non ho possibilità di chiedere lumi al professore,
comunque ti posto il testo completo e a seguire un altro testo, sono
tutti abbastanza simili, almeno come tipologia (sono testi da esame).
************************************
Banco degli yogurt
Si consideri un archivio di yogurt contenente 100 tipi conservato in un
archivio Y:
Codice numerico del tipo (progressivo univoco da 1 a 100)
Peso della confezione
Numero totale di pezzi
Esiste un supermercato che li vende ed ha il suo archivio del magazzino
S di MAX 1.000 degli yogurt arrivati:
Codice numerico del modello (lo stesso dell'archivio S)
Prezzo di vendita unitario
Scadenza (intero)
Numero pezzi arrivati di questo modelli
N.B.: di un tipo possono arrivare anche 2 stock con differente numero di
pezzi
ESERCIZIO BASE
Scrivere in C un programma che:
1) Legge da tastiera le informazioni relative ai 100 tipi di yogurt
mettendo il numero totale dei pezzi a 0.
2) Chiama una funzione "magazzino" che legge da tastiera, in ordine
casuale, e li inserisce nell'archivio del magazzino, fino a che l’utente
conferma.
3) Chiama una funzione "aggiorna" che aggiorna il numero totale di pezzi
arrivati nel supermercato nell'archivio degli yogurt Y.
4) Chiama una funzione “pezzi” che dato un codice restituisce tutti gli
yogurt presenti nell’archivio (in base al codice con quel codice
articolo con il relativo prezzo al KG.
5) Chiama una funzione "ordina" che ordina l’archivio S in base al
codice dello yogurt ed alla data di scadenza e rende il valore totale
degli yogurt presenti in quel supermercato.
ESERCIZIO 1
Inserire nel programma una funzione “Merce” che crea un vettore con solo
i pezzi del magazzino S con valore della data di scadenza minore di un
intero k letto da tastiera.
ESERCIZIO 2
Scrivere una funzione che costruisce 2 liste (L1 ed L2) contenenti
rispettivamente tutti i tipi presenti nel magazzino S con prezzo
superiore a 100 e minore di 100.
NB: le variabili usate devono essere locali e non è necessario
controllare la correttezza dei dati in input.
********************************************
Prenotazione alberghi
Si considerino due alberghi A e B con 100 stanze ognuno e ciascuna
stanza caratterizzata da: numero di stanza (progressivo da 1 a 200),
numero di posti letto, bagno (1=SI 0=NO), prezzo, se occupate (le stanze
possono essere occupate dai clienti od a prezzo pieno oppure con lo
sconto (30%) se date ad un numero di persone inferiore al numero di
posti letto ad esempio in uso singola la doppia) (2=sconto 1=occupata
0=libera, all’inizio saranno tutte 0).
Esiste un archivio delle prenotazioni P per il fine settimana (Max 100),
dove sono memorizzati: il numero progressivo della prenotazione, il
numero di posti letto, se con bagno (1=SI 0=NO –1=meglio SI ma anche NO)
ed il numero della stanza assegnata (se non è stata assegnata la stanza
assegnare 0, all’inizio saranno tutte 0).
ESERCIZIO BASE
Scrivere in C un programma che:
1) Legge da tastiera, anche attraverso funzioni, tutti i dati delle
stanze dei 2 alberghi e li mette nelle strutture dati A e B (tutti come
liberi) e l'archivio delle prenotazioni P (Max 200) e le mette in una
struttura dati P, finché vengono inseriti dall’utente (chiedere se vuole
continuare).
2) Chiama una funzione “vendi”, prima per A poi per B) che scorre
l'archivio delle prenotazioni e se ci sono stanze libere con le stesse
caratteristiche richieste nella prenotazione (dare stanza anche solo se
meglio SI), vengano registrati sia in A che in B che in P la vendita e
l'acquisto e rende il numero di stanze rimaste libere in ciascun hotel.
3) Se ci sono stanze libere in A od in B e chiama una funzione “altre”
che scorre l’archivio delle prenotazioni e le assegna a chi ha richiesto
meglio SI, ma anche NO per il bagno ed in un secondo giro riscorre la
lista ed assegna le stanze con lo sconto se ci sono stanze libere con un
numero maggiore di posti letto rispetto a quanto richiesto.
4) Chiama una funzione “guadagno” che calcola il valore totale delle
stanze affittate, il valore delle stanze rimaste libere ed il minor
guadagno derivante dal totale degli sconti fatti e li rende al main.
ESERCIZIO 1
Inserire nel programma una funzione lastminute che crea 1 vettore V
ordinato per prezzo contenente tutti i dati delle stanze rimaste libere
con il prezzo ridotto al 50%.
ESERCIZIO 2
Scrivere una funzione che costruisce 1 lista delle prenotazioni
(contenente codice prenotazione e numero di stanza assegnato) di chi
aveva chiesto il bagno non obbligatorio (-1) e si è dovuto accontentare
della stanza senza di esso.