Parrebbe funzionare, ma è mezzanotte e mezza e non ho alcunissima intenzione di fare brute force per cercare di rompere il codice, né adesso né mai

This commit is contained in:
La Programmatrice Verde 2024-11-16 00:33:07 +01:00
parent b7256e22f1
commit 69a635605e
9 changed files with 349 additions and 455 deletions

View File

@ -26,7 +26,7 @@ class Program
soloAndata2=1;
//----------------------------------------------------------------------------------------------------------------------------------------
//---queste variabili hanno valori che permettono di uscire dal programma quando richiesto e di saltare il calcolo dei prezzi del secondo biglietto se l'utente ha scelto di uscire prima di selezionare il secondo biglietto---
//---queste variabili hanno valori che permettono di saltare il calcolo dei prezzi del secondo biglietto se l'utente ha scelto di uscire prima di selezionare il secondo biglietto---
prezzoRitorno1=2;
prezzoAndata2=2;
prezzoRitorno2=2;
@ -37,7 +37,6 @@ class Program
//Acquisto del primo biglietto
prezzoAndata1=AcquistoBiglietti();
if (prezzoAndata1>=0){//se prezzoAndata==-1 allora l'utente ha selezionato di uscire dal programma
Console.Write("Acquistare anche il ritorno? [S/n] ");
scelta=Console.ReadLine();
@ -45,37 +44,27 @@ class Program
switch (scelta){
case "S":
prezzoRitorno1=AcquistoBiglietti();
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata1=0; //Il biglietto non è di sola andata
}
exit=1;
break;
case "s":
prezzoRitorno1=AcquistoBiglietti();
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata1=0;
}
exit=1;
break;
case "Y":
prezzoRitorno1=AcquistoBiglietti();
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata1=0;
}
exit=1;
break;
case "y":
prezzoRitorno1=AcquistoBiglietti();
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata1=0;
}
exit=1;
break;
case "":
prezzoRitorno1=AcquistoBiglietti();
if (prezzoRitorno1>=0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata1=0;
}
exit=1;
break;
case "N":
@ -94,10 +83,7 @@ class Program
}
}
while(exit==0);
}
if (prezzoAndata1 <= -1 || prezzoRitorno1 <= -1){//se prezzoAndata1 o prezzoRitorno1==-1 l'utente ha selezionato di uscire (if invertita)
}
else{
//Acquisto del secondo biglietto
Console.Write("Acquistare un secondo biglietto? [S/n] ");
scelta = Console.ReadLine();
@ -105,8 +91,7 @@ class Program
switch (scelta){
case "S":
//stesse operazioni che ho usato per l'acquisto del primo biglietto, ma in uno switch per venire selezionate dall'utente
prezzoAndata2 = AcquistoBiglietti();//se prezzoAndata==-1 allora l'utente ha selezionato di uscire dal programma
if (prezzoAndata2 >= 0){
prezzoAndata2 = AcquistoBiglietti();
Console.Write("Acquistare anche il ritorno? [S/n] ");
scelta = Console.ReadLine();
@ -114,37 +99,27 @@ class Program
switch (scelta){
case "S":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "s":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "Y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "N":
@ -163,12 +138,10 @@ class Program
}
}
while (exit == 0);
}
break;
case "s":
//stesse operazioni che ho usato per l'acquisto del primo biglietto, ma in uno switch per venire selezionate dall'utente
prezzoAndata2 = AcquistoBiglietti();//se prezzoAndata==-1 allora l'utente ha selezionato di uscire dal programma
if (prezzoAndata2 >= 0){
prezzoAndata2 = AcquistoBiglietti();
Console.Write("Acquistare anche il ritorno? [S/n] ");
scelta = Console.ReadLine();
@ -176,37 +149,27 @@ class Program
switch (scelta){
case "S":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "s":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "Y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "N":
@ -225,12 +188,10 @@ class Program
}
}
while (exit == 0);
}
break;
case "Y":
//stesse operazioni che ho usato per l'acquisto del primo biglietto, ma in uno switch per venire selezionate dall'utente
prezzoAndata2 = AcquistoBiglietti();//se prezzoAndata==-1 allora l'utente ha selezionato di uscire dal programma
if (prezzoAndata2 >= 0){
prezzoAndata2 = AcquistoBiglietti();
Console.Write("Acquistare anche il ritorno? [S/n] ");
scelta = Console.ReadLine();
@ -238,37 +199,27 @@ class Program
switch (scelta){
case "S":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "s":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "Y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "N":
@ -287,12 +238,10 @@ class Program
}
}
while (exit == 0);
}
break;
case "y":
//stesse operazioni che ho usato per l'acquisto del primo biglietto, ma in uno switch per venire selezionate dall'utente
prezzoAndata2 = AcquistoBiglietti();//se prezzoAndata==-1 allora l'utente ha selezionato di uscire dal programma
if (prezzoAndata2 >= 0){
prezzoAndata2 = AcquistoBiglietti();
Console.Write("Acquistare anche il ritorno? [S/n] ");
scelta = Console.ReadLine();
@ -300,37 +249,27 @@ class Program
switch (scelta){
case "S":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "s":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "Y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "N":
@ -349,12 +288,10 @@ class Program
}
}
while (exit == 0);
}
break;
case "":
//stesse operazioni che ho usato per l'acquisto del primo biglietto, ma in uno switch per venire selezionate dall'utente
prezzoAndata2 = AcquistoBiglietti();//se prezzoAndata==-1 allora l'utente ha selezionato di uscire dal programma
if (prezzoAndata2 >= 0){
prezzoAndata2 = AcquistoBiglietti();
Console.Write("Acquistare anche il ritorno? [S/n] ");
scelta = Console.ReadLine();
@ -362,37 +299,27 @@ class Program
switch (scelta){
case "S":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "s":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "Y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "y":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "":
prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0;
}
exit = 1;
break;
case "N":
@ -411,7 +338,6 @@ class Program
}
}
while (exit == 0);
}
break;
case "N":
//Condizione per seguire la prima traccia se si sta acquistando un solo biglietto
@ -440,11 +366,6 @@ class Program
}
while (exit == 0);
if (prezzoAndata1 < 0 || prezzoRitorno1 < 0 || prezzoAndata2 < 0 || prezzoRitorno2 < 0){//se prezzoAndata1 o prezzoRitorno1 o prezzoAndata2 o prezzoRitorno2==-1 l'utente ha selezionato di uscire (if invertito);
Console.WriteLine("Totale resettato");
totale=-1; //impedisco di stampare il totale se è stato selezionato il primo biglietto
}
else{
//Condizione per seguire la seconda traccia se si sta acquistando anche un secondo biglietto
if (soloAndata2 != -1){
switch ((soloAndata1, soloAndata2)){
@ -462,29 +383,21 @@ class Program
break;
}
}
}
}
if (totale>=0){//scrivi il totale solo se non si vuole uscire prima
Console.WriteLine("Totale: " +totale);
}
}
static int AcquistoBiglietti(){
//dichiarazione e inizializzazione variabili
string partenza, destinazione;
int prezzo;
//---questa variabile ha un valore non valido in modo da non avere una scelta di default valida e permettere di uscire dal programma---
//---questa variabile ha un valore non valido in modo da non avere una scelta di default valida---
prezzo=-1;
partenza=SceltaPartenza();
if(partenza!="0"){//se partenza==0 allora l'utente ha selezionato di uscire dal programma
destinazione=SceltaDestinazione();
if(destinazione!="0"){//se destinazione==0 allora l'utente ha selezionato di uscire dal programma
prezzo=PrezzoVolo(partenza, destinazione);
}
}
return prezzo;
}
static string SceltaPartenza()
@ -503,15 +416,11 @@ class Program
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;
@ -529,16 +438,10 @@ class Program
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{
while(exit!=1);
return partenza;
}
}
static string SceltaDestinazione()
{
//dichiarazione e inizializzazione variabili
@ -555,15 +458,11 @@ class Program
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;
@ -581,13 +480,8 @@ class Program
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{
while(exit!=1);
return destinazione;
}
}
static int PrezzoVolo(string partenza, string destinazione){

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("aeroporto_livello2")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4fcffc8002d982a577ce9a646026b8af09ccadaf")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b7256e22f1674b7051ead2ce19a4ee658ef3d9ab")]
[assembly: System.Reflection.AssemblyProductAttribute("aeroporto_livello2")]
[assembly: System.Reflection.AssemblyTitleAttribute("aeroporto_livello2")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
57d59093753c5e7e1e5bef71a73c0552a160e5346cf6b93d30dc9dd4c4af7b82
abdc458297559b24c64ba77bf9f025f6b2baea6e7847a5c09e4925a444d04255