класс Program
2 частьunknown
csharp
2 years ago
7.2 kB
13
Indexable
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public class MainForm : Form
{
private TextBox polynomial1TextBox;
private TextBox polynomial2TextBox;
private Button addButton;
private Button multiplyButton;
private Button differentiateButton;
private Button integrateButton;
private TextBox resultTextBox;
public MainForm()
{
InitializeComponent();
}
private void InitializeComponent()
{
polynomial1TextBox = new TextBox();
polynomial2TextBox = new TextBox();
addButton = new Button();
multiplyButton = new Button();
differentiateButton = new Button();
integrateButton = new Button();
resultTextBox = new TextBox();
SuspendLayout();
//
// polynomial1TextBox
//
polynomial1TextBox.Location = new Point(12, 12);
polynomial1TextBox.Name = "polynomial1TextBox";
polynomial1TextBox.Size = new Size(200, 20);
polynomial1TextBox.TabIndex = 0;
//
// polynomial2TextBox
//
polynomial2TextBox.Location = new Point(12, 38);
polynomial2TextBox.Name = "polynomial2TextBox";
polynomial2TextBox.Size = new Size(200, 20);
polynomial2TextBox.TabIndex = 1;
//
// addButton
//
addButton.Location = new Point(12, 64);
addButton.Name = "addButton";
addButton.Size = new Size(75, 23);
addButton.TabIndex = 2;
addButton.Text = "Add";
addButton.UseVisualStyleBackColor = true;
addButton.Click += addButton_Click;
//
// multiplyButton
//
multiplyButton.Location = new Point(93, 64);
multiplyButton.Name = "multiplyButton";
multiplyButton.Size = new Size(75, 23);
multiplyButton.TabIndex = 3;
multiplyButton.Text = "Multiply";
multiplyButton.UseVisualStyleBackColor = true;
multiplyButton.Click += multiplyButton_Click;
//
// differentiateButton
//
differentiateButton.Location = new Point(12, 93);
differentiateButton.Name = "differentiateButton";
differentiateButton.Size = new Size(75, 23);
differentiateButton.TabIndex = 4;
differentiateButton.Text = "Differentiate";
differentiateButton.UseVisualStyleBackColor = true;
differentiateButton.Click += differentiateButton_Click;
//
// integrateButton
//
integrateButton.Location = new Point(93, 93);
integrateButton.Name = "integrateButton";
integrateButton.Size = new Size(75, 23);
integrateButton.TabIndex = 5;
integrateButton.Text = "Integrate";
integrateButton.UseVisualStyleBackColor = true;
integrateButton.Click += integrateButton_Click;
//
// resultTextBox
//
resultTextBox.Location = new Point(12, 123);
resultTextBox.Multiline = true;
resultTextBox.Name = "resultTextBox";
resultTextBox.ReadOnly = true;
resultTextBox.Size = new Size(200, 100);
resultTextBox.TabIndex = 6;
//
// MainForm
//
AutoScaleDimensions = new SizeF(6F, 13F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(224, 235);
Controls.Add(resultTextBox);
Controls.Add(integrateButton);
Controls.Add(differentiateButton);
Controls.Add(multiplyButton);
Controls.Add(addButton);
Controls.Add(polynomial2TextBox);
Controls.Add(polynomial1TextBox);
Name = "MainForm";
Text = "Polynomial";
ResumeLayout(false);
PerformLayout();
}
private void addButton_Click(object sender, EventArgs e)
{
try
{
Polynomial polynomial1 = ParsePolynomial(polynomial1TextBox.Text);
Polynomial polynomial2 = ParsePolynomial(polynomial2TextBox.Text);
Polynomial sum = polynomial1 + polynomial2;
resultTextBox.Text = sum.ToString();
}
catch (FormatException)
{
MessageBox.Show("Invalid polynomial format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void multiplyButton_Click(object sender, EventArgs e)
{
try
{
Polynomial polynomial1 = ParsePolynomial(polynomial1TextBox.Text);
Polynomial polynomial2 = ParsePolynomial(polynomial2TextBox.Text);
Polynomial product = polynomial1 * polynomial2;
resultTextBox.Text = product.ToString();
}
catch (FormatException)
{
MessageBox.Show("Invalid polynomial format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void differentiateButton_Click(object sender, EventArgs e)
{
try
{
Polynomial polynomial = ParsePolynomial(polynomial1TextBox.Text);
Polynomial derivative = polynomial.Differentiate();
resultTextBox.Text = derivative.ToString();
}
catch (FormatException)
{
MessageBox.Show("Invalid polynomial format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void integrateButton_Click(object sender, EventArgs e)
{
try
{
Polynomial polynomial = ParsePolynomial(polynomial1TextBox.Text);
Polynomial integral = polynomial.Integrate();
resultTextBox.Text = integral.ToString();
}
catch (FormatException)
{
MessageBox.Show("Invalid polynomial format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private Polynomial ParsePolynomial(string polynomial)
{
var terms = polynomial.Split('+', '-');
var n = terms.Length;
var coeff = new double[n];
for (var i = 0; i < n; ++i) {
coeff[i] = double.Parse(terms[i]);
}
return new Polynomial(coeff);
}
[STAThread]
public static void Main()
{
Application.EnableVisualStyles();
Application.Run(new MainForm());
}
}
}Editor is loading...
Leave a Comment