public void Test_CalcoloPerimetro() { Cerchio c = new Cerchio(5); double circonferenza = c.CalcoloPerimetro(); Assert.AreEqual(31.42, circonferenza); }
public void Test_CalcoloArea() { Cerchio c = new Cerchio(1); double area = c.CalcoloArea(); Assert.AreEqual(3.14, area); }
public static void FormeGeometriche() { Triangolo triangolo = new Triangolo() { Base = 12, Altezza = 4 }; Cerchio cerchio = new Cerchio() { Raggio = 8, X = 3, Y = 5 }; Rettangolo rettangolo = new Rettangolo() { Larghezza = 7, Altezza = 3 }; cerchio.DisegnaForma(); rettangolo.DisegnaForma(); triangolo.DisegnaForma(); }
public static void Esercitazioni() { //Esercitazione 1 Cerchio cerchio = new Cerchio() { Nome = "Cerchio", X = 0, Y = 0, Raggio = 5d }; cerchio.DisegnaForma(); Rettangolo rettangolo = new Rettangolo() { Nome = "Rettangolo", Larghezza = 5d, Altezza = 10d }; rettangolo.DisegnaForma(); Triangolo triangolo = new Triangolo() { Nome = "Triangolo", Base = 8d, Altezza = 10d }; triangolo.DisegnaForma(); //Esercitazione 2 (interfaccia fileSeriaizable) cerchio.SaveToFile("CerchioFile"); Cerchio nuovoCerchio = new Cerchio(); nuovoCerchio.FromFile("CerchioFile"); nuovoCerchio.DisegnaForma(); nuovoCerchio.Nome = "Cerchio modificato"; nuovoCerchio.SaveToFile("CerchioFile"); rettangolo.SaveToFile("RettangoloFile"); Rettangolo nuovoRettangolo = new Rettangolo(); nuovoRettangolo.FromFile("RettangoloFile"); nuovoRettangolo.DisegnaForma(); nuovoRettangolo.Nome = "Rettangolo modificato"; nuovoRettangolo.SaveToFile("RettangoloFile"); triangolo.SaveToFile("TriangoloFile"); Triangolo nuovoTriangolo = new Triangolo(); nuovoTriangolo.FromFile("TriangoloFile"); nuovoTriangolo.DisegnaForma(); nuovoTriangolo.Nome = "Tringolo modificato"; nuovoTriangolo.SaveToFile("TriangoloFile"); }
public static void FormeGeometriche2() { //Cosa può fare //Cos'è IFileSerializable cerchio = new Cerchio() { Nome = "Cerchio", Raggio = 2, X = 3, Y = 6 }; IFileSerializable rettangolo = new Rettangolo() { Nome = "Rettangolo", Larghezza = 10, Altezza = 3 }; IFileSerializable triangolo = new Triangolo() { Nome = "Triangolo", Altezza = 8, Base = 4 }; cerchio.SaveToFile("Test"); Cerchio newCerchio = new Cerchio(); newCerchio.LoadFromFile("Test"); newCerchio.DisegnaForma(); newCerchio.Nome = "Cerchio modificato"; newCerchio.SaveToFile("Test"); triangolo.SaveToFile("TestTriangolo"); Triangolo newTriangolo = new Triangolo(); newTriangolo.LoadFromFile("TestTriangolo"); newTriangolo.DisegnaForma(); newTriangolo.Nome = "Triangolo modificato"; newTriangolo.SaveToFile("TestTriangolo"); rettangolo.SaveToFile("TestRettangolo"); Rettangolo newRettangolo = new Rettangolo(); newRettangolo.LoadFromFile("TestRettangolo"); newRettangolo.DisegnaForma(); newRettangolo.Nome = "Rettangolo modificato"; newRettangolo.SaveToFile("TestRettangolo"); }
public static void Esercitazione() { Console.WriteLine("___________Esercitazione 1______________"); //istanza di Cerchio ma di tipo FormeGeometriche quindi non ha le proprietà del cerchio. FormeGeometriche forme = new Cerchio(); Cerchio c = new Cerchio() { Nome = "Cerchio", X = 3, Y = 4, Raggio = 6 }; Triangolo t = new Triangolo() { Nome = "Triangolo", Base = 4, Altezza = 3 }; Rettangolo r = new Rettangolo() { Nome = "Rettangolo", Altezza = 2, Larghezza = 4 }; Console.WriteLine(c.CalcoloArea()); Console.WriteLine(c.DisegnoForma()); Console.WriteLine(t.CalcoloArea()); Console.WriteLine(t.DisegnoForma()); Console.WriteLine(r.CalcoloArea()); Console.WriteLine(r.DisegnoForma()); Console.WriteLine("___________Esercitazione 2______________"); c.SaveToFile("Test"); Cerchio circle = new Cerchio(); circle.LoadFromFile("Test"); IFileSerializable[] file = { c }; foreach (var item in file) { item.SaveToFile("C"); item.LoadFromFile("C"); } }
private void MostraDati(double raggio, double altezza) { var cerchio = new Cerchio(raggio); var sfera = new Sfera(raggio); var cilindro = new Cilindro(raggio, altezza); var cono = new Cono(raggio, altezza); var decimali = 2; tbx_cerchioArea.Text = Math.Round(cerchio.Area, decimali).ToString(); tbx_cerchioCirconferenza.Text = Math.Round(cerchio.Circonferenza, decimali).ToString(); tbx_cerchioDiametro.Text = Math.Round(cerchio.Diametro, decimali).ToString(); tbx_sferaSuperficie.Text = Math.Round(sfera.Superficie, decimali).ToString(); tbx_sferaVolume.Text = Math.Round(sfera.Volume, decimali).ToString(); tbx_cilindroAreaLaterale.Text = Math.Round(cilindro.AreaLaterale, decimali).ToString(); tbx_cilindroAreaTotale.Text = Math.Round(cilindro.AreaTotale, decimali).ToString(); tbx_cilindroVolume.Text = Math.Round(cilindro.Volume, decimali).ToString(); tbx_conoVolume.Text = Math.Round(cono.Volume, decimali).ToString(); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); object q = new Quadrato() { Lato = 5 }; Console.WriteLine($"area = {CalcArea(q)}"); object c = new Cerchio() { Raggio = 10 }; Console.WriteLine($"area = {CalcArea(c)}"); object obj = new object(); Console.WriteLine($"area = {CalcArea(obj)}"); }
/// <summary> /// se abbiamo almeno 2 schede, ricerca nel database la tupla(Distinct) MAC,timestamp,global,hash, ID scheda i,RSSI scheda i /// all'interno di pacchetti in cui prendendo in considerazione dati di schede diverse riguardanti lo stesso MAC (i-esimo) /// la cui differenza di timestamp (tra dati diversi) sia entro una certa soglia (si riferisca alla stessa lettura) e il cui /// timestamp sia entro il minuto di ricerca , prese queste tuple calcola i punti di intersezione tramite i metodi dei cerchi /// ed infine li aggiunge ad una lista /// </summary> /// <param name="nBoards">numero di schede presenti</param> /// <param name="threshold">soglia del timestamp tra dati diversi</param> /// <returns>lista di punti di intersezione</returns> public List <DatiDispositivo> GetLastMinuteData(int nBoards, int threshold = 0) { try { if (nBoards < 2) { return(null); } int time = EspServer.getUnixEpoch() - 60; //Create a list to store the result List <DatiDispositivo> list = new List <DatiDispositivo>(); using (MySqlConnection connessione = new MySqlConnection("Database=" + Database + ";" + "Server=" + Server + ";" + "Port=3306;" + "UID=" + Uid + ";" + "Password="******";")) using (MySqlCommand cmd = connessione.CreateCommand()) { connessione.Open(); //Create Query StringBuilder builder = new StringBuilder(); builder.Append("SELECT DISTINCT P1.MAC, P1.timestamp, P1.global, P1.hash"); for (int i = 0; i < nBoards; i++) { builder.Append(", P").Append(i + 1).Append(".ID_scheda, P").Append(i + 1).Append(".RSSI"); } builder.Append(VarQuery(nBoards, time, threshold)); //Create Command cmd.CommandText = builder.ToString(); cmd.ExecuteNonQuery(); using (MySqlDataReader dataReader = cmd.ExecuteReader()) { while (dataReader.Read()) { string mac = dataReader.GetString(0); int timestamp = dataReader.GetInt32(1); bool global = dataReader.GetBoolean(2); List <Cerchio> cerchi = new List <Cerchio>(); for (int i = 0; i < nBoards; i++) { int id = dataReader.GetInt32(4 + i * 2); int rssi = dataReader.GetInt32(5 + i * 2); cerchi.Add(new Cerchio(GetScheda(id).Punto, rssi)); } Punto point = Cerchio.Intersezione(cerchi); if (!(Double.IsNaN(point.Ascissa) || Double.IsNaN(point.Ordinata))) { if (point.isInside(schede)) { DatiDispositivo p = new DatiDispositivo(mac, timestamp, point, global); list.Add(p); } else { System.Diagnostics.Debug.WriteLine("Geofence discarded: (" + point.Ascissa + "; " + point.Ordinata + ")"); } } } } InserisciPosizioni(list, connessione); } Connesso = true; return(list); } catch (KeyNotFoundException e) { System.Diagnostics.Debug.WriteLine("idBoard not found..." + e.ToString()); throw e; } catch (MySqlException e) { System.Diagnostics.Debug.WriteLine("MySqlException catched." + e.ToString()); Connesso = false; return(null); } catch (Exception e) { System.Diagnostics.Debug.WriteLine("Caught exception: " + e.ToString()); return(null); } }
private void BtnCalcola_Click(object sender, EventArgs e) { { switch (flag) { case 0: double raggio = G3D.GetDouble(txtRaggio.Text); if (rbtnCerchio.Checked && txtRaggio.Text == "" || G3D.IsNegative(raggio)) { MessageBox.Show("Inserisci un RAGGIO valido prima di continuare."); } else { Cerchio c = new Cerchio(raggio); FormRisultato cForm = new FormRisultato(c.ToString(), c.CalcoloArea()); cForm.Show(); } break; case 1: double qLato = G3D.GetDouble(txtLato.Text); if (rbtnQuadrato.Checked && txtLato.Text == "" || G3D.IsNegative(qLato)) { MessageBox.Show("Inserisci un LATO valido prima di continuare."); } else { Quadrato q = new Quadrato(qLato); FormRisultato qForm = new FormRisultato(q.ToString(), q.CalcoloArea()); qForm.Show(); } break; case 3: double tBase = G3D.GetDouble(txtBase.Text); double tAltezza = G3D.GetDouble(txtAltezza.Text); if (rbtnTriangolo.Checked && txtBase.Text == "" || txtAltezza.Text == "" || G3D.IsNegative(tAltezza, tBase)) { MessageBox.Show("Inserisci BASE e ALTEZZA validi prima di continuare."); } else { TriangoloIso t = new TriangoloIso(tBase, tAltezza); FormRisultato tForm = new FormRisultato(t.ToString(), t.CalcoloArea()); tForm.Show(); } break; case 4: double rBase = G3D.GetDouble(txtBase.Text); double rAltezzaa = G3D.GetDouble(txtAltezza.Text); if (rbtnRettangolo.Checked && txtBase.Text == "" || txtAltezza.Text == "" || G3D.IsNegative(rBase, rAltezzaa)) { MessageBox.Show("Inserisci BASE e ALTEZZA validi prima di continuare."); } else { Rettangolo r = new Rettangolo(rBase, rAltezzaa); FormRisultato rForm = new FormRisultato(r.ToString(), r.CalcoloArea()); rForm.Show(); } break; case 5: double pLato = G3D.GetDouble(txtLato.Text); if (rbtnPentagono.Checked && txtLato.Text == "" || G3D.IsNegative(pLato)) { MessageBox.Show("Inserisci un LATO valido prima di continuare."); } else { Pentagono p = new Pentagono(pLato); FormRisultato pForm = new FormRisultato(p.ToString(), p.CalcoloArea()); pForm.Show(); } break; case 6: double esLato = G3D.GetDouble(txtLato.Text); if (rbtnEsagono.Checked && txtLato.Text == "" || G3D.IsNegative(esLato)) { MessageBox.Show("Inserisci un LATO valido prima di continuare."); } else { Esagono es = new Esagono(esLato); FormRisultato esForm = new FormRisultato(es.ToString(), es.CalcoloArea()); esForm.Show(); } break; default: MessageBox.Show("Errore!"); break; } } }
static void Main(string[] args) { bool b = true; int num = 1; switch (num) { case 1: b = false; goto case 2; case 2: break; } //switch con string case sensitive string str = ""; switch (str) { case "a": break; case "A": break; } //fall through Console.WriteLine("digita un tasto"); char c = Console.ReadKey().KeyChar; switch (c) { case 'a': case 'e': case 'i': case 'o': case 'u': Console.WriteLine("hai digitato la vocale {0}", c); break; default: Console.WriteLine("non hai inserito una vocale"); break; } DayOfWeek day = DateTime.Today.DayOfWeek; switch (day) { case DayOfWeek.Saturday: case DayOfWeek.Sunday: Console.WriteLine("riposo"); break; case DayOfWeek.Monday: Console.WriteLine("8:00 - 12:00"); break; case DayOfWeek.Tuesday: Console.WriteLine("8:00 - 12:00 e 15:00 - 18:00"); break; case DayOfWeek.Wednesday: Console.WriteLine("8:00 - 12:00"); break; case DayOfWeek.Thursday: case DayOfWeek.Friday: Console.WriteLine("8:00 - 12:00"); break; } GenericMatch <int>(1); Person p = new Person() { FirstName = "Matilda" }; string language = "ita"; string greeting = null; switch (language) { case "eng": greeting = "Hello"; break; case "spa": greeting = "Hola"; break; case "ita": greeting = "Ciao"; break; default: greeting = "???"; break; } greeting = language switch { "eng" => "Hello", "spa" => "Hola", "ita" => "Ciao", _ => "???" }; Console.WriteLine(greeting); language = "deu"; greeting = language switch { "eng" => "Hello", "spa" => "Hola", "ita" => "Ciao", _ => "???" }; Quadrato q = new Quadrato(); q.Lato = 5; Cerchio cerchio = new Cerchio(); cerchio.Raggio = 4; var areaQuadrato = CalcArea1(q); Console.WriteLine($"area quadrato {areaQuadrato}"); }
private static void PrintCerchio(Cerchio c1) { System.Console.WriteLine("Cerchio: Area {0}, Perimetro {1}", c1.GetArea(), c1.GetPerimetro()); //uso lo stesso comportamento che hanno sia il cerchio che il quadrato per cui posso ridurre a un metodo }