C 入门编程第2课:一元二次方程16:55

16:55

本课程讲解如何用C#编程计算一元二次方程,并形成人机交互窗体。

计算一元二次方程本身不难,用Excel就可以计算,用C#语言开发,主要是帮助学员熟悉Visual Studio控件,了解if else和一些常用转换函数的基本应用,熟悉文本框和按钮控件的使用方法。

学完课程后作出的软件效果

1

课程目的

1.了解if else,熟悉C#计算符号

2.熟悉并掌握字符数字转换Convert和ToDouble、ToString函数用法

3.培养学员用C#解决实际问题的习惯

2

制作要求

1.生成窗体、在窗体输入变量和输出结果

2.根不存在的时候显示不存在

3.程序有一定的自动化效果,不报错

备注:一元二次方程的基本概念

一元二次方程的概念

3

程序设计

1.控件设计

本案例没有按钮控件,只用5个文本框即可完成所有操作,textBox1-5,其中前3个文本框textBox1、textBox2、textBox3代表3个系数:a、b、c。后两个文本框textBox4、textBox5输出结果x1、x2。

也可以用按钮进行计算,看个人偏好,如果用按钮计算,代码会精简一些。

2.核心代码

三个输入文本框textBox1、textBox2、TextBox3输入相同的代码即可,更改二次项、一次项、常数项,程序都会自动进行计算。

下面代码是textBox1的代码,textBox2、TextBox3都输入相同的代码即可。

private void textBox1_TextChanged(object sender, EventArgs e)

{

double a = Convert.ToDouble(textBox1.Text);

double b = Convert.ToDouble(textBox2.Text);

double c = Convert.ToDouble(textBox3.Text);

double x1, x2;

if (b * b - 4 * a * c >= 0)

{

x1 = (-b + Math.Sqrt(b * b - 4 * a * c)) / (2 * a);

x2 = (-b - Math.Sqrt(b * b - 4 * a * c)) / (2 * a);

string x11 = x1.ToString();

string x22 = x2.ToString();

textBox4.Text = x11;

textBox5.Text = x22;

}

else

{

textBox4.Text = "根不存在呦~老铁";

textBox5.Text = "根不存在呦~老铁";

}

}

3.代码解释

double a = Convert.ToDouble(textBox1.Text);

double b = Convert.ToDouble(textBox2.Text);

double c = Convert.ToDouble(textBox3.Text);

double x1, x2;

这段是定义各项变量,一元二次方程的不同项都取自于窗体的三个文本框,用double双精度定义也可以,int整型也可以,但是结果x1,x2必须定义为双精度,因为计算结果是小数。

由于textBox文本框里输入的默认是文本,因此需要用Convert函数将其转换为双精度数字ToDouble。

if (b * b - 4 * a * c >= 0)

{

x1 = (-b + Math.Sqrt(b * b - 4 * a * c)) / (2 * a);

x2 = (-b - Math.Sqrt(b * b - 4 * a * c)) / (2 * a);

string x11 = x1.ToString();

string x22 = x2.ToString();

textBox4.Text = x11;

textBox5.Text = x22;

}

这段是假设跟存在的情况,b * b - 4 * a * c >= 0,数学表达式就是根存在的情况。根存在的时候,再进行以下的计算。

x1 = (-b + Math.Sqrt(b * b - 4 * a * c)) / (2 * a);

x2 = (-b - Math.Sqrt(b * b - 4 * a * c)) / (2 * a);

Sqrt就是C#里的开根号,计算表达式和数学表达式区别并不大。

计算结果是默认数字,需要转换成字符串才能装进文本框textBox4和textBox5两个结果显示文本框。因此还是需要用ToString转换。我在这里借助了中间变量字符串x11。

else

{

textBox4.Text = "根不存在呦~老铁";

textBox5.Text = "根不存在呦~老铁";

}

如果b * b - 4 * a * c <0,那么根就不存在了,直接在textBox4和textBox5直接输入不存在即可,无需字符串转换。

最后还有一些自动化的小技巧,大家有需要可以评论区找我要完整代码。

4

视频教程

举报/反馈