找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
宇哥帮你零基础建设外贸独立站
宇哥淘宝虚拟类目-付费微信群
宇哥闲鱼3个月陪跑课
Access数据库-零基础入门课程
Access数据库-自用软件开发课程
Access数据库-即学即用课程
Access数据库-进销存课程
Access数据库-VBA入门课程
Access数据库-陪跑课程
查看: 139|回复: 0

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

[复制链接]

109

主题

15

回帖

553

积分

管理员

积分
553
发表于 2024-3-7 15:04:24 | 显示全部楼层 |阅读模式
本课程讲解如何用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都输入相同的代码即可。
  1. private void textBox1_TextChanged(object sender, EventArgs e)

  2. {

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

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

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

  6. double x1, x2;

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

  8. {

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

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

  11. string x11 = x1.ToString();

  12. string x22 = x2.ToString();

  13. textBox4.Text = x11;

  14. textBox5.Text = x22;

  15. }

  16. else

  17. {

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

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

  20. }

  21. }
复制代码
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直接输入不存在即可,无需字符串转换。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

access陪跑
Access即学即用
Access零基础
Access进销存
access开发

QQ|小黑屋|宇哥编程论坛 ( 京ICP备2022024677号-2|京公网安备11011202100561号 )

GMT+8, 2024-5-19 14:24 , Processed in 0.103989 second(s), 22 queries .

Powered by 宇哥

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表