Írjunk programot, amely az általános háromszög két oldalából és a közbezárt szögből kiszámítja háromszög harmadik oldalát, területét és a kerületét, a megoldáshoz használjunk függvényeket. Az eredményeket 5 tizedesre kerekítve írjuk ki.
A feladat megoldása:
static double C_oldal(double a_old, double b_old,
double szög)
{
double c;
c = Math.Sqrt(a_old*a_old + b_old*b_old-
2*a_old*b_old*Math.Cos(szög*Math.PI/180));
return c;
}
static void Kerület(double a_old, double b_old, double c_old,
out double ker)
{
ker = a_old + b_old + c_old;
}
static void Terület(double a_old, double b_old, double c_old,
out double ter)
{
double s;
s = (a_old + b_old + c_old )/2;
ter = Math.Sqrt(s*(s - a_old)*(s - b_old)*(s - c_old));
}
private void Számol_Click(object sender, EventArgs e)
{
double a, b, gamma, c, terület, kerület;
if(textBox1.Text != "" && textBox2.Text != "" &&
textBox3.Text != "")
{
a = Double.Parse(textBox1.Text);
b = Double.Parse(textBox2.Text);
gamma = Double.Parse(textBox3.Text);
c = C_oldal(a, b, gamma);
Kerület(a,b,c, out kerület);
Terület(a,b,c,out terület);
textBox4.Text = c.ToString("#.#####");
textBox5.Text = kerület.ToString("#.#####");
textBox6.Text = terület.ToString("#.#####");
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; textBox5.Text = "";
textBox6.Text = "";
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; textBox5.Text = "";
textBox6.Text = "";
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; textBox5.Text = "";
textBox6.Text = "";
}
A program futási eredményei: