diff --git a/Program.cs b/Program.cs index 9180941..b079607 100644 --- a/Program.cs +++ b/Program.cs @@ -7,38 +7,55 @@ class Program //dichiarazione e inizializzazione variabili ulong num, i, j; double numMedia, media, somma; - j=0; - somma=0; - //input e input sanitization - do{ - Console.Write("Inserire un numero per iniziare il conto alla rovescia: "); - num=Convert.ToUInt64(Console.ReadLine()); - if(num<=0){ - Console.WriteLine("Il numero non può essere né negativo né zero"); - } - } - while(num<=0); - //stampa dei numeri - for(i=num;i>0;i--){ - Console.WriteLine(i); - } - Console.WriteLine("Inserire una serie di numeri per calcolarne la media"); + string scelta; + const string valoreAccettato1="S"; + const string valoreAccettato2="s"; + const string valoreAccettato3="N"; + const string valoreAccettato4="n"; + const string valoreAccettato5="Y"; + const string valoreAccettato6="y"; + const string valoreAccettato7=""; do{ + //input e input sanitization do{ - Console.Write("Inserire un numero: "); - num=Convert.ToUInt64(Console.ReadLine()); - if(num<=0){ - Console.WriteLine("Il numero non può essere né negativo né zero"); + Console.Write("Inserire un numero per iniziare il conto alla rovescia: "); + num=Convert.ToUInt64(Console.ReadLine()); + if(num<=0){ + Console.WriteLine("Il numero non può essere né negativo né zero"); + } } + while(num<=0); + //stampa dei numeri + for(i=num;i>0;i--){ + Console.WriteLine(i); + } + Console.WriteLine("0"); //hack per avere lo zero a fine stampa, visto che con il tipo int64 non posso verificare che sia maggiore di -1 + Console.WriteLine("Inserire una serie di numeri per calcolarne la media"); + j=0; //reset del contatore + somma=0; //reset della somma + do{ + //input e input sanitization + do{ + Console.Write("Inserire un numero: "); + numMedia=Convert.ToUInt64(Console.ReadLine()); + if(numMedia<0){ + Console.WriteLine("Il numero non può essere negativo"); + } + } + while(numMedia<0); + somma=numMedia+somma; //calcolo somma + j++; //conteggio numeri inseriti fin'ora + } + while(numMedia!=0); + media=somma/(j-1); //calcolo media. j-1 serve altrimenti viene conteggiato l'inserimento dello zero e viene una media sbagliata + Console.WriteLine("La media è " +media); + //richiesta di reiterare + do{ + Console.Write("Ripetere il countdown e la media? [S/n] "); + scelta=Console.ReadLine(); + } + while(scelta!=valoreAccettato1 && scelta!=valoreAccettato2 && scelta!=valoreAccettato3 && scelta!=valoreAccettato4 && scelta!=valoreAccettato5 && scelta!=valoreAccettato6 && scelta!=valoreAccettato7); //Riduzione dell'input accettato. } - while(num<=0); - - numMedia=Convert.ToDouble(Console.ReadLine()); - somma=numMedia+somma; - j++; - } - while(numMedia!=0); - media=somma/(j-1); - Console.WriteLine("La media è " +media); + while(scelta!=valoreAccettato3 && scelta!=valoreAccettato4); //Solo con n o N viene interrotta l'esecuzione, quindi se non viene inserito nulla il programma ricomincia } } diff --git a/bin/Debug/net8.0/average_countdown.dll b/bin/Debug/net8.0/average_countdown.dll index 6149cb7..71f261d 100644 Binary files a/bin/Debug/net8.0/average_countdown.dll and b/bin/Debug/net8.0/average_countdown.dll differ diff --git a/bin/Debug/net8.0/average_countdown.pdb b/bin/Debug/net8.0/average_countdown.pdb index 0dc1b24..ef4762e 100644 Binary files a/bin/Debug/net8.0/average_countdown.pdb and b/bin/Debug/net8.0/average_countdown.pdb differ diff --git a/obj/Debug/net8.0/average_countdown.AssemblyInfo.cs b/obj/Debug/net8.0/average_countdown.AssemblyInfo.cs index 07eec91..c47b7ff 100644 --- a/obj/Debug/net8.0/average_countdown.AssemblyInfo.cs +++ b/obj/Debug/net8.0/average_countdown.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("average_countdown")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+bdef1b6927ea19ea1f856d7ada7862cbfd6fae7e")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7d253d6a56ab971e8bbf0a7019cf2809cd47c805")] [assembly: System.Reflection.AssemblyProductAttribute("average_countdown")] [assembly: System.Reflection.AssemblyTitleAttribute("average_countdown")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net8.0/average_countdown.AssemblyInfoInputs.cache b/obj/Debug/net8.0/average_countdown.AssemblyInfoInputs.cache index 19cf6a2..3085a17 100644 --- a/obj/Debug/net8.0/average_countdown.AssemblyInfoInputs.cache +++ b/obj/Debug/net8.0/average_countdown.AssemblyInfoInputs.cache @@ -1 +1 @@ -ffb55873cb54e31ad6d8416c96c264900619aa24f83bb707f170df85c3fb2027 +bbbaad5232a588c49cd2c8d7fc5c7897dca57215a5c38f72919028b6a8ee2074 diff --git a/obj/Debug/net8.0/average_countdown.dll b/obj/Debug/net8.0/average_countdown.dll index 6149cb7..71f261d 100644 Binary files a/obj/Debug/net8.0/average_countdown.dll and b/obj/Debug/net8.0/average_countdown.dll differ diff --git a/obj/Debug/net8.0/average_countdown.pdb b/obj/Debug/net8.0/average_countdown.pdb index 0dc1b24..ef4762e 100644 Binary files a/obj/Debug/net8.0/average_countdown.pdb and b/obj/Debug/net8.0/average_countdown.pdb differ diff --git a/obj/Debug/net8.0/ref/average_countdown.dll b/obj/Debug/net8.0/ref/average_countdown.dll index 3c88c9b..0316d85 100644 Binary files a/obj/Debug/net8.0/ref/average_countdown.dll and b/obj/Debug/net8.0/ref/average_countdown.dll differ diff --git a/obj/Debug/net8.0/refint/average_countdown.dll b/obj/Debug/net8.0/refint/average_countdown.dll index 3c88c9b..0316d85 100644 Binary files a/obj/Debug/net8.0/refint/average_countdown.dll and b/obj/Debug/net8.0/refint/average_countdown.dll differ