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,38 +7,55 @@ 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";
//input e input sanitization const string valoreAccettato2="s";
do{ const string valoreAccettato3="N";
Console.Write("Inserire un numero per iniziare il conto alla rovescia: "); const string valoreAccettato4="n";
num=Convert.ToUInt64(Console.ReadLine()); const string valoreAccettato5="Y";
if(num<=0){ const string valoreAccettato6="y";
Console.WriteLine("Il numero non può essere né negativo né zero"); const string valoreAccettato7="";
}
}
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");
do{ do{
//input e input sanitization
do{ do{
Console.Write("Inserire un numero: "); Console.Write("Inserire un numero per iniziare il conto alla rovescia: ");
num=Convert.ToUInt64(Console.ReadLine()); num=Convert.ToUInt64(Console.ReadLine());
if(num<=0){ if(num<=0){
Console.WriteLine("Il numero non può essere né negativo né zero"); 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); while(scelta!=valoreAccettato3 && scelta!=valoreAccettato4); //Solo con n o N viene interrotta l'esecuzione, quindi se non viene inserito nulla il programma ricomincia
numMedia=Convert.ToDouble(Console.ReadLine());
somma=numMedia+somma;
j++;
}
while(numMedia!=0);
media=somma/(j-1);
Console.WriteLine("La media è " +media);
} }
} }

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