Parcheggio in C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
#include <cstdlib> #include <iostream> using namespace std; /* il sistema dovendo registrare i dati di molteplici veicoli richiederebbe la creazione di altrettante variabili per tanto si simula l'inserimento dei dati del solo veicolo quando sta uscendo dal parcheggio */ int main(int argc, char *argv[]){ int POSTI_TOTALE, POSTI_OCCUPATI=0, POSTI_LIBERI; int POSTI_COPERTO, POSTI_COPERTO_OCCUPATI=0, POSTI_COPERTO_LIBERI; int POSTI_APERTO, POSTI_APERTO_OCCUPATI=0, POSTI_APERTO_LIBERI; float prezzo_coperto, prezzo_aperto; string targa; int oreIN, minIN, oreOUT, minOUT, durata; float costo; int scelta, scelta_ingresso_zona, scelta_uscita_zona; cout<<"E A S Y - P A R K I N G\n"; cout<<"NUMERO POSTI DISPONIBILI DELLA ZONA COPERTA: "; cin>>POSTI_COPERTO; cout<<"COSTO POSTO AL COPERTO AL MINUTO: "; cin>>prezzo_coperto; cout<<"NUMERO POSTI DISPONIBILI DELLA ZONA APERTA: "; cin>>POSTI_APERTO; cout<<"COSTO POSTO ALL'APERTO AL MINUTO: "; cin>>prezzo_aperto; POSTI_TOTALE=POSTI_COPERTO+POSTI_APERTO; system("CLS"); for(;;){ POSTI_LIBERI=POSTI_TOTALE-POSTI_OCCUPATI; POSTI_COPERTO_LIBERI=POSTI_COPERTO-POSTI_COPERTO_OCCUPATI; POSTI_APERTO_LIBERI=POSTI_APERTO-POSTI_APERTO_OCCUPATI; cout<<"POSTI LIBERI: "<<POSTI_LIBERI; cout<<" SU UN TOTALE DI "<<POSTI_TOTALE<<endl; cout<<"\tPOSTI LIBERI ZONA COPERTA: "<<POSTI_COPERTO_LIBERI; cout<<" SU UN TOTALE DI "<<POSTI_COPERTO<<endl; cout<<"\tPOSTI LIBERI ZONA APERTA: "<<POSTI_APERTO_LIBERI; cout<<" SU UN TOTALE DI "<<POSTI_APERTO<<endl; cout<<"\nMENU SCELTA INGRESSO/USCITA\n"; cout<<"\tPremi 1 per ENTRARE nel parcheggio\n"; cout<<"\tPremi 2 per USCIRE dal parcheggio\n"; cin>>scelta; if(scelta==1){ cout<<"\nINGRESSO ... MENU SCELTA ZONA\n"; if(POSTI_COPERTO_LIBERI==0) cout<<"LA ZONA COPERTA DEL PARCHEGGIO E' PIENA ... attendi che esca qualcuno\n"; else cout<<"\tPremi 1 per ENTRARE NELLA ZONA COPERTA\n"; if(POSTI_APERTO_LIBERI==0) cout<<"LA ZONA APERTA DEL PARCHEGGIO E' PIENA ... attendi che esca qualcuno\n"; else cout<<"\tPremi 2 per ENTRARE NELLA ZONA APERTA\n"; if(POSTI_COPERTO_LIBERI>0 || POSTI_APERTO_LIBERI>0){ cin>>scelta_ingresso_zona; if(scelta_ingresso_zona==1 && POSTI_COPERTO_LIBERI>0) POSTI_COPERTO_OCCUPATI++; else if(scelta_ingresso_zona==2 && POSTI_APERTO_LIBERI>0) POSTI_APERTO_OCCUPATI++; } } else if(scelta==2){ cout<<"\nUSCITA ... MENU SCELTA ZONA\n"; if(POSTI_COPERTO_OCCUPATI==0) cout<<"ZONA COPERTA VUOTA ...\n"; else cout<<"\tPremi 1 per USCIRE DALLA ZONA COPERTA\n"; if(POSTI_APERTO_OCCUPATI==0) cout<<"ZONA APERTA VUOTA ...\n"; else cout<<"\tPremi 2 per USCIRE DALLA ZONA APERTA\n"; if(POSTI_COPERTO_OCCUPATI>0 || POSTI_APERTO_OCCUPATI>0){ cin>>scelta_uscita_zona; cout<<"Targa: "; cin>>targa; cout<<"Ore ingresso: "; cin>>oreIN; cout<<"Minuti ingresso: "; cin>>minIN; cout<<"Ore uscita: "; cin>>oreOUT; cout<<"Minuti uscita: "; cin>>minOUT; durata=oreOUT*60+minOUT-oreIN*60-minIN; if(scelta_uscita_zona==1 && POSTI_COPERTO_OCCUPATI>0){ POSTI_COPERTO_OCCUPATI--; costo=prezzo_coperto*durata; } else if(scelta_uscita_zona==2 && POSTI_APERTO_OCCUPATI>0){ POSTI_APERTO_OCCUPATI--; costo=prezzo_aperto*durata; } if(durata>600) //10 ore costo=costo-costo*50/100; else if(durata>240) //4 ore costo=costo-costo*20/100; else if(durata>120) //2 ore costo=costo-costo*10/100; cout<<"Veicolo con targa "<<targa<<endl; cout<<"Costo totale: "<<costo<<endl; } } else cout<<"SCELTA ERRATA\n"; } system("pause"); return 0; } |