Prototipo con combinazione per uscire (deprecata perché non creabile senza impazzire e off-topic)

This commit is contained in:
La Programmatrice Verde 2024-11-16 00:13:01 +01:00
parent 4fcffc8002
commit b7256e22f1
20 changed files with 459 additions and 294 deletions

View File

@ -18,18 +18,18 @@ class Program
//dichiarazione e inizializzazione variabili //dichiarazione e inizializzazione variabili
const int sconto1=10; const int sconto1=10;
const int sconto2=5; const int sconto2=5;
int prezzoAndata1, totale, prezzoRitorno1, exit, soloAndata1, soloAndata2, prezzoAndata2, prezzoRitorno2, secondoBiglietto; int prezzoAndata1, totale, prezzoRitorno1, exit, soloAndata1, soloAndata2, prezzoAndata2, prezzoRitorno2;
//---queste variabili hanno dei valori che vengono rigettati dagli switch in modo da non avere una scelta di default valida--- //---queste variabili hanno dei valori che vengono rigettati dagli switch in modo da non avere una scelta di default valida---
exit=0; exit=0;
totale=-1; totale=-1;
soloAndata1=-1; soloAndata1=1;
soloAndata2=-1; soloAndata2=1;
//---------------------------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------------------------
//---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--- //---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---
prezzoRitorno1=-1; prezzoRitorno1=2;
prezzoAndata2=-1; prezzoAndata2=2;
prezzoRitorno2=-1; prezzoRitorno2=2;
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
string scelta; string scelta;
@ -95,9 +95,11 @@ class Program
} }
while(exit==0); while(exit==0);
} }
if(prezzoAndata1>=0 && prezzoRitorno1>=0){//se prezzoAndata1 o prezzoRitorno1==-1 l'utente ha selezionato di uscire if (prezzoAndata1 <= -1 || prezzoRitorno1 <= -1){//se prezzoAndata1 o prezzoRitorno1==-1 l'utente ha selezionato di uscire (if invertita)
}
else{
//Acquisto del secondo biglietto //Acquisto del secondo biglietto
Console.WriteLine("Acquistare un secondo biglietto? [S/n] "); Console.Write("Acquistare un secondo biglietto? [S/n] ");
scelta = Console.ReadLine(); scelta = Console.ReadLine();
do{ do{
switch (scelta){ switch (scelta){
@ -146,10 +148,12 @@ class Program
exit = 1; exit = 1;
break; break;
case "N": case "N":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
case "n": case "n":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
@ -172,34 +176,46 @@ class Program
switch (scelta){ switch (scelta){
case "S": case "S":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "s": case "s":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "Y": case "Y":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "y": case "y":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "": case "":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "N": case "N":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
case "n": case "n":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
@ -222,34 +238,46 @@ class Program
switch (scelta){ switch (scelta){
case "S": case "S":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "s": case "s":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "Y": case "Y":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "y": case "y":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "": case "":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "N": case "N":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
case "n": case "n":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
@ -272,34 +300,46 @@ class Program
switch (scelta){ switch (scelta){
case "S": case "S":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "s": case "s":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "Y": case "Y":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "y": case "y":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "": case "":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "N": case "N":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
case "n": case "n":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
@ -322,34 +362,46 @@ class Program
switch (scelta){ switch (scelta){
case "S": case "S":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "s": case "s":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "Y": case "Y":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "y": case "y":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "": case "":
prezzoRitorno2 = AcquistoBiglietti(); prezzoRitorno2 = AcquistoBiglietti();
if (prezzoRitorno2 >= 0){//se prezzoRitorno==-1 allora l'utente ha selezionato di uscire dal programma
soloAndata2 = 0; soloAndata2 = 0;
}
exit = 1; exit = 1;
break; break;
case "N": case "N":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
case "n": case "n":
totale=prezzoAndata2;
soloAndata2 = 1; soloAndata2 = 1;
exit = 1; exit = 1;
break; break;
@ -387,9 +439,12 @@ class Program
} }
} }
while (exit == 0); while (exit == 0);
}
if(prezzoAndata2>=0 && prezzoRitorno2>=0){//se prezzoAndata2 o prezzoRitorno2==-1 l'utente ha selezionato di uscire 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 //Condizione per seguire la seconda traccia se si sta acquistando anche un secondo biglietto
if (soloAndata2 != -1){ if (soloAndata2 != -1){
switch ((soloAndata1, soloAndata2)){ switch ((soloAndata1, soloAndata2)){
@ -408,7 +463,9 @@ class Program
} }
} }
} }
if(totale>=0){ }
if (totale>=0){//scrivi il totale solo se non si vuole uscire prima
Console.WriteLine("Totale: " +totale); Console.WriteLine("Totale: " +totale);
} }
@ -417,17 +474,17 @@ class Program
//dichiarazione e inizializzazione variabili //dichiarazione e inizializzazione variabili
string partenza, destinazione; string partenza, destinazione;
int prezzo; int prezzo;
prezzo=0;
//---questa variabile ha un valore non valido in modo da non avere una scelta di default valida e permettere di uscire dal programma---
prezzo=-1;
partenza=SceltaPartenza(); partenza=SceltaPartenza();
if(partenza!="0"){ if(partenza!="0"){//se partenza==0 allora l'utente ha selezionato di uscire dal programma
destinazione=SceltaDestinazione(); destinazione=SceltaDestinazione();
if(destinazione!="0"){ if(destinazione!="0"){//se destinazione==0 allora l'utente ha selezionato di uscire dal programma
prezzo=PrezzoVolo(partenza, destinazione); prezzo=PrezzoVolo(partenza, destinazione);
} }
} }
else{
prezzo=-1;
}
return prezzo; return prezzo;
} }
static string SceltaPartenza() static string SceltaPartenza()
@ -436,14 +493,16 @@ class Program
string partenza; string partenza;
partenza=null; partenza=null;
int scelta, exit; int scelta, exit;
exit=9;
//---questa variabile ha un valore iniziale non valido per permettere al programma di essere compilato (il default non la modifica)---
exit=-1;
//selezione partenza //selezione partenza
do{ do{
Console.WriteLine("Da dove si parte?"); Console.WriteLine("Da dove si parte?");
Console.WriteLine("1. Milano"); Console.WriteLine("1. " +partenza1);
Console.WriteLine("2. Bangkok"); Console.WriteLine("2. " +partenza2);
Console.WriteLine("3. Berlino"); Console.WriteLine("3. " +partenza3);
Console.WriteLine("0. Esci"); Console.WriteLine("0. Esci");
Console.Write("Scelta: "); Console.Write("Scelta: ");
scelta=Convert.ToInt32(Console.ReadLine()); scelta=Convert.ToInt32(Console.ReadLine());
@ -471,7 +530,7 @@ class Program
} }
} }
while(exit!=1 && exit!=0); while(exit!=1 && exit!=0);
if (exit==0){ if (exit==0){//se viene scelto di uscire restituisco un valore che non corrisponde a una partenza
return Convert.ToString(exit); return Convert.ToString(exit);
} }
else{ else{
@ -486,14 +545,16 @@ class Program
string destinazione; string destinazione;
destinazione=null; destinazione=null;
int scelta, exit; int scelta, exit;
exit=9;
//---questa variabile ha un valore iniziale non valido per permettere al programma di essere compilato (il default non la modifica)---
exit=-1;
//selezione destinazione //selezione destinazione
do{ do{
Console.WriteLine("Dove si vuole andare?"); Console.WriteLine("Dove si vuole andare?");
Console.WriteLine("1. Milano"); Console.WriteLine("1. " +destinazione1);
Console.WriteLine("2. Bangkok"); Console.WriteLine("2. " +destinazione2);
Console.WriteLine("3. Berlino"); Console.WriteLine("3. " +destinazione3);
Console.WriteLine("0. Esci"); Console.WriteLine("0. Esci");
Console.Write("Scelta: "); Console.Write("Scelta: ");
scelta=Convert.ToInt32(Console.ReadLine()); scelta=Convert.ToInt32(Console.ReadLine());
@ -521,7 +582,7 @@ class Program
} }
} }
while(exit!=1 && exit!=0); while(exit!=1 && exit!=0);
if (exit==0){ if (exit==0){//se viene scelto di uscire restituisco un valore che non corrisponde a una partenza
return Convert.ToString(exit); return Convert.ToString(exit);
} }
else{ else{
@ -530,6 +591,7 @@ class Program
} }
static int PrezzoVolo(string partenza, string destinazione){ static int PrezzoVolo(string partenza, string destinazione){
//dichiarazione e inizializzazione variabili per tabella della verità
int prezzo; int prezzo;
const int tariffa1=0; const int tariffa1=0;
const int tariffa2=100; const int tariffa2=100;
@ -540,6 +602,8 @@ class Program
const int tariffa7=130; const int tariffa7=130;
const int tariffa8=180; const int tariffa8=180;
const int tariffa9=0; const int tariffa9=0;
//---questa variabile ha un valore iniziale non valido per permettere al programma di essere compilato---
prezzo=-1; prezzo=-1;
switch((partenza, destinazione)){ switch((partenza, destinazione)){

Binary file not shown.

View File

@ -0,0 +1,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"aeroporto_livello2/1.0.0": {
"runtime": {
"aeroporto_livello2.dll": {}
}
}
}
},
"libraries": {
"aeroporto_livello2/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net9.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "9.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]

View File

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
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.AssemblyProductAttribute("aeroporto_livello2")]
[assembly: System.Reflection.AssemblyTitleAttribute("aeroporto_livello2")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generato dalla classe WriteCodeFragment di MSBuild.

View File

@ -0,0 +1 @@
57d59093753c5e7e1e5bef71a73c0552a160e5346cf6b93d30dc9dd4c4af7b82

View File

@ -0,0 +1,15 @@
is_global = true
build_property.TargetFramework = net9.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = aeroporto_livello2
build_property.ProjectDir = /home/BrainTheBest5/git/aeroporto_livello2/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

Binary file not shown.

View File

@ -0,0 +1 @@
025cfd6f8d2781df81a004e09e5634ba44a9a6312845a1f394e4cebfcac4c991

View File

@ -0,0 +1,14 @@
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/aeroporto_livello2.GeneratedMSBuildEditorConfig.editorconfig
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/aeroporto_livello2.AssemblyInfoInputs.cache
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/aeroporto_livello2.AssemblyInfo.cs
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/aeroporto_livello2.csproj.CoreCompileInputs.cache
/home/BrainTheBest5/git/aeroporto_livello2/bin/Debug/net9.0/aeroporto_livello2
/home/BrainTheBest5/git/aeroporto_livello2/bin/Debug/net9.0/aeroporto_livello2.deps.json
/home/BrainTheBest5/git/aeroporto_livello2/bin/Debug/net9.0/aeroporto_livello2.runtimeconfig.json
/home/BrainTheBest5/git/aeroporto_livello2/bin/Debug/net9.0/aeroporto_livello2.dll
/home/BrainTheBest5/git/aeroporto_livello2/bin/Debug/net9.0/aeroporto_livello2.pdb
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/aeroporto_livello2.dll
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/refint/aeroporto_livello2.dll
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/aeroporto_livello2.pdb
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/aeroporto_livello2.genruntimeconfig.cache
/home/BrainTheBest5/git/aeroporto_livello2/obj/Debug/net9.0/ref/aeroporto_livello2.dll

Binary file not shown.

View File

@ -0,0 +1 @@
46340e8828a82746cad26a44ca76c6de491d7b6a8bcf275fed514344fd78a1d3

Binary file not shown.

BIN
obj/Debug/net9.0/apphost Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.