CERCA
20-11-2022 10:18

Esercizi settimana 7

da consegnare entro: 27/11/2022

 

 

ESERCIZIO 1

Si scriva un programma C, adeguatamente commentato, che gestisca le funzionalità di Rob8, l'ultima versione di robot domestico a breve disponibile sul mercato.

Il programma utilizza un vettore di strutture, ognuna delle quali memorizza le informazioni delle stanze della casa (nome, larghezza, lunghezza, area, numero di ostacoli presenti, priorità di pulizia). Si definiscano le seguenti funzioni:

- robConnect() è la funzione per simulare la connessione a Rob8. Si visualizzi a schermo una finta barra di caricamento con la percentuale 0-100% e si attenda il caricamento completo per le successive istruzioni.
- aggiungiStanza() aggiunge una nuova stanza, stampando un messaggio di errore se la stanza è già presente (individuata dal nome) o se il vettore è pieno; la funzione deve inoltre assegnare alla stanza una priorità di pulizia scegliendo fra quelle disponibili.
- mostraInfoStanza(), dato il nome della stanza, stampare le informazioni della stessa oppure un messaggio di errore se la stanza non è presente nel vettore.
- modificaStanza(), dato il nome della stanza, permettere la modifica delle sue informazioni
- calcolaPercorso() definisce la sequenza di stanze percorse dal robot, in base alla loro priorità.
- robDisconnect() visualizzerà l'avvenuta disconnessione dal robot.

Le stanze nella memoria di Rob8 sono rappresentate tramite un vettore di NUM_STANZE elementi.

Il programma deve gestire l'allocazione dinamica delle strutture usando la funzione malloc()

 

 

ESERCIZIO 2

Si scriva un programma C, adeguatamente commentato, che gestisca un certo numero di studenti iscritti ad un corso di laurea. Il programma utilizza un vettore di strutture, ognuna delle quali memorizza le informazioni di uno studente (numero matricola, nome e cognome, anno di immatricolazione, piano di studi, …). Il programma utilizza inoltre un vettore di strutture, ognuna delle quali memorizza le informazioni di un insegnamento (codice, descrizione, anno di somministrazione, crediti, …). Il programma deve fornire la possibilità di:

  • aggiungere un nuovo studente, stampando un messaggio di errore se lo studente è già presente (individuato dalla matricola) o se il vettore è pieno; la funzione deve inoltre assegnargli un piano di studi scegliendo fra gli insegnamenti disponibili.
  • dato il numero di matricola, stampare le informazioni dello studente oppure un messaggio di errore se la matricola non è presente nel vettore
  • dato un numero di matricola, modificare le informazioni del piano di studi aggiungendo un voto oppure stampando un messaggio di errore se la matricola non è presente nel vettore.
  • Calcolare la media dei voti di tutti gli studenti che hanno completato il piano di studi pesata sul numero di crediti di ogni insegnamento.

Il piano di studi all’interno della struttura studente è un vettore di NUM_ESAMI elementi ognuno di tipo struttura contenete il codice dell'insegnamento e il voto corrispondente (0 se non sostenuto).

Modificare poi il programma in modo che il vettore di studenti venga allocato dinamicamente usando la funzione malloc().

 

 

PROCEDI CON LA CONSEGNA DEGLI ESERCIZI