Programma perfezionato per aderire alla traccia

This commit is contained in:
La Programmatrice Verde 2024-11-08 15:36:56 +01:00
parent 7d253d6a56
commit 66e91171b1
9 changed files with 48 additions and 31 deletions

View File

@ -7,8 +7,15 @@ class Program
//dichiarazione e inizializzazione variabili //dichiarazione e inizializzazione variabili
ulong num, i, j; ulong num, i, j;
double numMedia, media, somma; double numMedia, media, somma;
j=0; string scelta;
somma=0; 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 //input e input sanitization
do{ do{
Console.Write("Inserire un numero per iniziare il conto alla rovescia: "); Console.Write("Inserire un numero per iniziare il conto alla rovescia: ");
@ -22,23 +29,33 @@ class Program
for(i=num;i>0;i--){ for(i=num;i>0;i--){
Console.WriteLine(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"); Console.WriteLine("Inserire una serie di numeri per calcolarne la media");
j=0; //reset del contatore
somma=0; //reset della somma
do{ do{
//input e input sanitization
do{ do{
Console.Write("Inserire un numero: "); Console.Write("Inserire un numero: ");
num=Convert.ToUInt64(Console.ReadLine()); numMedia=Convert.ToUInt64(Console.ReadLine());
if(num<=0){ if(numMedia<0){
Console.WriteLine("Il numero non può essere né negativo né zero"); Console.WriteLine("Il numero non può essere negativo");
} }
} }
while(num<=0); while(numMedia<0);
somma=numMedia+somma; //calcolo somma
numMedia=Convert.ToDouble(Console.ReadLine()); j++; //conteggio numeri inseriti fin'ora
somma=numMedia+somma;
j++;
} }
while(numMedia!=0); while(numMedia!=0);
media=somma/(j-1); 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); 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(scelta!=valoreAccettato3 && scelta!=valoreAccettato4); //Solo con n o N viene interrotta l'esecuzione, quindi se non viene inserito nulla il programma ricomincia
} }
} }

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("average_countdown")] [assembly: System.Reflection.AssemblyCompanyAttribute("average_countdown")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [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.AssemblyProductAttribute("average_countdown")]
[assembly: System.Reflection.AssemblyTitleAttribute("average_countdown")] [assembly: System.Reflection.AssemblyTitleAttribute("average_countdown")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
ffb55873cb54e31ad6d8416c96c264900619aa24f83bb707f170df85c3fb2027 bbbaad5232a588c49cd2c8d7fc5c7897dca57215a5c38f72919028b6a8ee2074