private void BtnEgal_Click(object sender, EventArgs e) { if (TextResultat.Text[0] == '-') { TextResultat.Text = 0 + TextResultat.Text; } nombres = TextResultat.Text.Split(new char[] { '+', '-', 'x', '/' }).ToList(); for (int i = 0; i < nombres.Count; i++) { if (nombres[i][0] == '√') { nombres[i] = Math.Sqrt(Convert.ToDouble(nombres[i].Substring(1))).ToString(); resultat = Convert.ToDouble(nombres[i]); } } while (operateurs.Count != 0) { for (int i = 0; i < operateurs.Count; i++) { if (operateurs[i] == "x") { resultat = Convert.ToDouble(nombres[i]) * Convert.ToDouble(nombres[i + 1]); nombres[i] = resultat.ToString(); nombres.RemoveAt(i + 1); operateurs.RemoveAt(i); } else if (operateurs[i] == "/") { try { if (nombres[i + 1] == "0") { throw new Exception(); } resultat = Convert.ToDouble(nombres[i]) / Convert.ToDouble(nombres[i + 1]); nombres.RemoveAt(i); operateurs.RemoveAt(i); nombres[i] = resultat.ToString(); } catch (Exception) { TextResultat.Clear(); nombres.Clear(); operateurs.Clear(); resultat = 0; MessageBox.Show("Impossible de diviser par zéro !"); } } } for (int i = 0; i < operateurs.Count; i++) { if (operateurs[i] == "+") { resultat = Convert.ToDouble(nombres[i]) + Convert.ToDouble(nombres[i + 1]); nombres.RemoveAt(i + 1); operateurs.RemoveAt(i); nombres[i] = resultat.ToString(); } else if (operateurs[i] == "-") { resultat = Convert.ToDouble(nombres[i]) - Convert.ToDouble(nombres[i + 1]); nombres.RemoveAt(i + 1); operateurs.RemoveAt(i); nombres[i] = resultat.ToString(); } } } TextResultat.Text = resultat.ToString(); }
private void BtnClear_Click(object sender, EventArgs e) { TextResultat.Clear(); nombres.Clear(); operateurs.Clear(); }