Linguaggio C++

LAB Bunker

Laboratorio di sintesi: Controllo flussi, Switch, While e Operatori Logici. Progetto: Bunker Security System.

Durata

150 minuti

Software

Dev-C++

Scenario: The Bunker Vault v1.0

Siete i programmatori della sicurezza di un bunker sotterraneo. Il programma deve gestire l'accesso al caveau, il monitoraggio dei sensori e la procedura di emergenza.


Specifiche del Progetto

Il software deve seguire rigorosamente queste fasi:

1. Inizializzazione e Login

  • Il sistema deve chiedere all'utente di inserire il Codice Identificativo (es. 1234) e il Livello di Autorizzazione (un numero da 1 a 5).
  • Se il codice è sbagliato OPPURE il livello è fuori dall'intervallo [1 - 5], l'accesso è negato e il programma deve richiedere i dati (Ciclo iterativo).

2. Menu Operativo

Una volta entrati, deve apparire un menu centrato con \t che permetta di:

  • 1. Verifica Sensori: Chiede temperatura e pressione. Allarme se: (Temp < 10 || Temp > 50) && Pressione > 5.
  • 2. Apertura Caveau: Il caveau si apre solo se: Il livello autorizzazione è >= 4 E l'utente inserisce la parola chiave "OPEN".
  • 3. Stato Sistema: Mostra se il sistema è in modalità "Eco" (Il sistema è in Eco se il livello utente è < 3).
  • 0. Logout e Spegnimento: Chiude il programma usando un flag booleano invertito con il NOT.

3. Vincoli Tecnici

  • Utilizzate \n e \t per rendere il terminale simile a un vero computer militare.
  • Utilizzate costanti o variabili fisse per le password e i limiti di sicurezza.
  • Dichiara le variabili necessarie (int per scelte, bool per il ciclo principale, string per password).
  • Crea il primo blocco di controllo per il login.
  • Apri il ciclo while principale basato sul flag bool attivo = true.
  • Inserisci lo switch per gestire le diverse funzionalità.
  • Ricorda di invertire il flag (attivo = !attivo) nel case 0.
Consiglio: Testa una parte del programma alla volta. Prima assicurati che il login funzioni, poi costruisci il menu, e infine aggiungi i controlli di sicurezza complessi con gli operatori logici.

Obiettivo estetico: Il ticket finale (Logout) deve mostrare un riepilogo delle operazioni effettuate in una cornice di caratteri #.




C++, Laboratorio, Controllo Flusso, Logica Avanzata, Switch, While,