Migrazione dalla repo unificata per separare le due tracce
This commit is contained in:
parent
d03a6963fd
commit
cb35604189
247
Program.cs
247
Program.cs
@ -2,8 +2,251 @@
|
|||||||
|
|
||||||
class Program
|
class Program
|
||||||
{
|
{
|
||||||
static void Main(string[] args)
|
//costanti delle partenze e destinazioni
|
||||||
|
const string partenza1="Milano";
|
||||||
|
const string partenza2="Bangkok";
|
||||||
|
const string partenza3="Berlino";
|
||||||
|
const string destinazione1="Milano";
|
||||||
|
const string destinazione2="Bangkok";
|
||||||
|
const string destinazione3="Berlino";
|
||||||
|
|
||||||
|
|
||||||
|
static void Main(string[] args){
|
||||||
|
//dichiarazione e inizializzazione variabili
|
||||||
|
const int sconto=10;
|
||||||
|
int prezzoAndata, totale, prezzoRitorno, exit;
|
||||||
|
//---queste variabili hanno dei valori che vengono rigettati dagli switch in modo da non avere una scelta di default valida---
|
||||||
|
exit=0;
|
||||||
|
totale=-1;
|
||||||
|
//----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
string scelta;
|
||||||
|
|
||||||
|
//Acquisto del biglietto
|
||||||
|
prezzoAndata=AcquistoBiglietti();
|
||||||
|
if (prezzoAndata>=0){//se prezzoAndata==-1 allora l'utente ha selezionato di uscire dal programma
|
||||||
|
Console.Write("Acquistare anche il ritorno? [S/n] ");
|
||||||
|
scelta=Console.ReadLine();
|
||||||
|
|
||||||
|
do{
|
||||||
|
switch (scelta){
|
||||||
|
case "S":
|
||||||
|
prezzoRitorno=AcquistoBiglietti();
|
||||||
|
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
|
||||||
|
totale=(prezzoAndata-(prezzoAndata*sconto/100))+(prezzoRitorno-(prezzoRitorno*sconto/100));
|
||||||
|
}
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
case "s":
|
||||||
|
prezzoRitorno=AcquistoBiglietti();
|
||||||
|
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
|
||||||
|
totale=(prezzoAndata-(prezzoAndata*sconto/100))+(prezzoRitorno-(prezzoRitorno*sconto/100));
|
||||||
|
}
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
case "Y":
|
||||||
|
prezzoRitorno=AcquistoBiglietti();
|
||||||
|
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
|
||||||
|
totale=(prezzoAndata-(prezzoAndata*sconto/100))+(prezzoRitorno-(prezzoRitorno*sconto/100));
|
||||||
|
}
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
case "y":
|
||||||
|
prezzoRitorno=AcquistoBiglietti();
|
||||||
|
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
|
||||||
|
totale=(prezzoAndata-(prezzoAndata*sconto/100))+(prezzoRitorno-(prezzoRitorno*sconto/100));
|
||||||
|
}
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
case "":
|
||||||
|
prezzoRitorno=AcquistoBiglietti();
|
||||||
|
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
|
||||||
|
totale=(prezzoAndata-(prezzoAndata*sconto/100))+(prezzoRitorno-(prezzoRitorno*sconto/100));
|
||||||
|
}
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
case "N":
|
||||||
|
totale=prezzoAndata;
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
case "n":
|
||||||
|
totale=prezzoAndata;
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Console.WriteLine("Scelta non valida");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while(exit==0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (totale>=0){
|
||||||
|
Console.WriteLine("Totale: " +totale);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static int AcquistoBiglietti(){
|
||||||
|
//dichiarazione e inizializzazione variabili
|
||||||
|
string partenza, destinazione;
|
||||||
|
int prezzo;
|
||||||
|
prezzo=-1;
|
||||||
|
|
||||||
|
partenza=SceltaPartenza();
|
||||||
|
if(partenza!="0"){
|
||||||
|
destinazione=SceltaDestinazione();
|
||||||
|
if(destinazione!="0"){
|
||||||
|
prezzo=PrezzoVolo(partenza, destinazione);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return prezzo;
|
||||||
|
}
|
||||||
|
static string SceltaPartenza()
|
||||||
{
|
{
|
||||||
Console.WriteLine("Hello, World!");
|
//dichiarazione e inizializzazione variabili
|
||||||
|
string partenza;
|
||||||
|
partenza=null;
|
||||||
|
int scelta, exit;
|
||||||
|
|
||||||
|
//---questa variabile ha un valore che viene rigettato dallo switch in modo da non avere una scelta di default valida---
|
||||||
|
exit=-1;
|
||||||
|
|
||||||
|
//selezione partenza
|
||||||
|
do{
|
||||||
|
Console.WriteLine("Da dove si parte?");
|
||||||
|
Console.WriteLine("1. " +partenza1);
|
||||||
|
Console.WriteLine("2. " +partenza2);
|
||||||
|
Console.WriteLine("3. " +partenza3);
|
||||||
|
Console.WriteLine("0. Esci");
|
||||||
|
Console.Write("Scelta: ");
|
||||||
|
scelta=Convert.ToInt32(Console.ReadLine());
|
||||||
|
|
||||||
|
|
||||||
|
switch(scelta){
|
||||||
|
case 0:
|
||||||
|
exit=0;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
partenza=partenza1;
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
partenza=partenza2;
|
||||||
|
exit=1;
|
||||||
|
break ;
|
||||||
|
case 3:
|
||||||
|
partenza=partenza3;
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Console.WriteLine("Scelta non valida");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while(exit!=1 && exit!=0);
|
||||||
|
if (exit==0){//se viene scelto di uscire restituisco un valore che non corrisponde a una partenza
|
||||||
|
return Convert.ToString(exit);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return partenza;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
static string SceltaDestinazione()
|
||||||
|
{
|
||||||
|
//dichiarazione e inizializzazione variabili
|
||||||
|
string destinazione;
|
||||||
|
destinazione=null;
|
||||||
|
int scelta, exit;
|
||||||
|
|
||||||
|
//---questa variabile ha un valore che viene rigettato dallo switch in modo da non avere una scelta di default valida---
|
||||||
|
exit=-1;
|
||||||
|
|
||||||
|
//selezione destinazione
|
||||||
|
do{
|
||||||
|
Console.WriteLine("Dove si vuole andare?");
|
||||||
|
Console.WriteLine("1. " +destinazione1);
|
||||||
|
Console.WriteLine("2. " +destinazione2);
|
||||||
|
Console.WriteLine("3. " +destinazione3);
|
||||||
|
Console.WriteLine("0. Esci");
|
||||||
|
Console.Write("Scelta: ");
|
||||||
|
scelta=Convert.ToInt32(Console.ReadLine());
|
||||||
|
|
||||||
|
|
||||||
|
switch(scelta){
|
||||||
|
case 0:
|
||||||
|
exit=0;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
destinazione=destinazione1;
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
destinazione=destinazione2;
|
||||||
|
exit=1;
|
||||||
|
break ;
|
||||||
|
case 3:
|
||||||
|
destinazione=destinazione3;
|
||||||
|
exit=1;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Console.WriteLine("Scelta non valida");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while(exit!=1 && exit!=0);
|
||||||
|
if (exit==0){//se viene scelto di uscire restituisco un valore che non corrisponde a una destinazione
|
||||||
|
return Convert.ToString(exit);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return destinazione;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
static int PrezzoVolo(string partenza, string destinazione){
|
||||||
|
//dichiarazione e inizializzazione variabili per tabella della verità
|
||||||
|
int prezzo;
|
||||||
|
const int tariffa1=0;
|
||||||
|
const int tariffa2=100;
|
||||||
|
const int tariffa3=150;
|
||||||
|
const int tariffa4=120;
|
||||||
|
const int tariffa5=0;
|
||||||
|
const int tariffa6=110;
|
||||||
|
const int tariffa7=130;
|
||||||
|
const int tariffa8=180;
|
||||||
|
const int tariffa9=0;
|
||||||
|
|
||||||
|
//---questa variabile ha un valore che viene rigettato dallo switch in modo da non avere una scelta di default valida---
|
||||||
|
prezzo=-1;
|
||||||
|
|
||||||
|
switch((partenza, destinazione)){//switch a due variabili per verificare tutte le combinazioni (tabella della verità)
|
||||||
|
case (partenza1, destinazione1):
|
||||||
|
prezzo=tariffa1;
|
||||||
|
break;
|
||||||
|
case (partenza1, destinazione2):
|
||||||
|
prezzo=tariffa2;
|
||||||
|
break;
|
||||||
|
case (partenza1, destinazione3):
|
||||||
|
prezzo=tariffa3;
|
||||||
|
break;
|
||||||
|
case (partenza2, destinazione1):
|
||||||
|
prezzo=tariffa4;
|
||||||
|
break;
|
||||||
|
case (partenza2, destinazione2):
|
||||||
|
prezzo=tariffa5;
|
||||||
|
break;
|
||||||
|
case (partenza2, destinazione3):
|
||||||
|
prezzo=tariffa6;
|
||||||
|
break;
|
||||||
|
case (partenza3, destinazione1):
|
||||||
|
prezzo=tariffa7;
|
||||||
|
break;
|
||||||
|
case (partenza3, destinazione2):
|
||||||
|
prezzo=tariffa8;
|
||||||
|
break;
|
||||||
|
case (partenza3, destinazione3):
|
||||||
|
prezzo=tariffa9;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return prezzo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user