From dc9e11dbf4e577a5b2630604b6390338702a4166 Mon Sep 17 00:00:00 2001 From: MikePuzanov <89803250877@mail.ru> Date: Sun, 25 Apr 2021 02:25:45 +0300 Subject: [PATCH 1/6] made Calculator, tests still is waiting --- .../CalculatorToolsTest.cs | 19 + .../hw7CalculatorWinForms.Test.csproj | 19 + .../hw7CalculatorWinForms.sln | 31 ++ .../CalculatorForms.Designer.cs | 370 ++++++++++++++++++ .../hw7CalculatorWinForms/CalculatorForms.cs | 169 ++++++++ .../CalculatorForms.resx | 60 +++ .../hw7CalculatorWinForms/CalculatorTools.cs | 34 ++ .../hw7CalculatorWinForms/Program.cs | 23 ++ .../hw7CalculatorWinForms.csproj | 9 + 9 files changed, 734 insertions(+) create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorToolsTest.cs create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms.sln create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.resx create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms/Program.cs create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms/hw7CalculatorWinForms.csproj diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorToolsTest.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorToolsTest.cs new file mode 100644 index 0000000..1766636 --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorToolsTest.cs @@ -0,0 +1,19 @@ +using NUnit.Framework; + +namespace hw7CalculatorWinForms.Test +{ + public class Tests + { + [SetUp] + public void Setup() + { + } + + [Test] + public void Test1() + { + var number = "2"; + Assert.Pass(); + } + } +} \ No newline at end of file diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj new file mode 100644 index 0000000..3d572b8 --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj @@ -0,0 +1,19 @@ + + + + net5.0 + + false + + + + + + + + + + + + + diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.sln b/hw7CalculatorWinForms/hw7CalculatorWinForms.sln new file mode 100644 index 0000000..629b3ca --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31205.134 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hw7CalculatorWinForms", "hw7CalculatorWinForms\hw7CalculatorWinForms.csproj", "{64316CB1-E781-4469-90CA-9C1F5CDE923C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hw7CalculatorWinForms.Test", "hw7CalculatorWinForms.Test\hw7CalculatorWinForms.Test.csproj", "{F3C02208-AF5C-47EC-ACC7-9E4210388B04}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Release|Any CPU.Build.0 = Release|Any CPU + {F3C02208-AF5C-47EC-ACC7-9E4210388B04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F3C02208-AF5C-47EC-ACC7-9E4210388B04}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F3C02208-AF5C-47EC-ACC7-9E4210388B04}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F3C02208-AF5C-47EC-ACC7-9E4210388B04}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {501A679A-B9EC-4660-AD72-6ADD85C065A7} + EndGlobalSection +EndGlobal diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs new file mode 100644 index 0000000..3a8af4d --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs @@ -0,0 +1,370 @@ + +namespace hw7CalculatorWinForms +{ + partial class CalculatorForms + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.buttonPlusMinus = new System.Windows.Forms.Button(); + this.button0 = new System.Windows.Forms.Button(); + this.buttonDot = new System.Windows.Forms.Button(); + this.buttonEqual = new System.Windows.Forms.Button(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonText = new System.Windows.Forms.Button(); + this.buttonResetAll = new System.Windows.Forms.Button(); + this.buttonResetString = new System.Windows.Forms.Button(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonMultiplication = new System.Windows.Forms.Button(); + this.button9 = new System.Windows.Forms.Button(); + this.button8 = new System.Windows.Forms.Button(); + this.button7 = new System.Windows.Forms.Button(); + this.button4 = new System.Windows.Forms.Button(); + this.button5 = new System.Windows.Forms.Button(); + this.button6 = new System.Windows.Forms.Button(); + this.buttonDivide = new System.Windows.Forms.Button(); + this.buttonMinus = new System.Windows.Forms.Button(); + this.buttonPlus = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // buttonPlusMinus + // + this.buttonPlusMinus.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonPlusMinus.ForeColor = System.Drawing.SystemColors.ControlText; + this.buttonPlusMinus.Location = new System.Drawing.Point(3, 298); + this.buttonPlusMinus.Name = "buttonPlusMinus"; + this.buttonPlusMinus.Size = new System.Drawing.Size(101, 54); + this.buttonPlusMinus.TabIndex = 10; + this.buttonPlusMinus.Text = "+/-"; + this.buttonPlusMinus.UseVisualStyleBackColor = true; + this.buttonPlusMinus.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlusMinus_MouseClick); + // + // button0 + // + this.button0.Dock = System.Windows.Forms.DockStyle.Fill; + this.button0.Location = new System.Drawing.Point(110, 298); + this.button0.Name = "button0"; + this.button0.Size = new System.Drawing.Size(101, 54); + this.button0.TabIndex = 9; + this.button0.Text = "0"; + this.button0.UseVisualStyleBackColor = true; + this.button0.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // buttonDot + // + this.buttonDot.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonDot.Location = new System.Drawing.Point(217, 298); + this.buttonDot.Name = "buttonDot"; + this.buttonDot.Size = new System.Drawing.Size(101, 54); + this.buttonDot.TabIndex = 11; + this.buttonDot.Text = "."; + this.buttonDot.UseVisualStyleBackColor = true; + this.buttonDot.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // buttonEqual + // + this.buttonEqual.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonEqual.Location = new System.Drawing.Point(324, 298); + this.buttonEqual.Name = "buttonEqual"; + this.buttonEqual.Size = new System.Drawing.Size(101, 54); + this.buttonEqual.TabIndex = 16; + this.buttonEqual.Text = "="; + this.buttonEqual.UseVisualStyleBackColor = true; + this.buttonEqual.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonEqual_MouseClick); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 4; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); + this.tableLayoutPanel1.Controls.Add(this.buttonPlusMinus, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.buttonText, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.buttonResetAll, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.buttonResetString, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.buttonDelete, 2, 1); + this.tableLayoutPanel1.Controls.Add(this.buttonMultiplication, 3, 1); + this.tableLayoutPanel1.Controls.Add(this.button9, 2, 2); + this.tableLayoutPanel1.Controls.Add(this.button8, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.button7, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.button4, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.button5, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.button6, 2, 3); + this.tableLayoutPanel1.Controls.Add(this.buttonDivide, 3, 2); + this.tableLayoutPanel1.Controls.Add(this.buttonMinus, 3, 3); + this.tableLayoutPanel1.Controls.Add(this.buttonPlus, 3, 4); + this.tableLayoutPanel1.Controls.Add(this.buttonEqual, 3, 5); + this.tableLayoutPanel1.Controls.Add(this.button3, 2, 4); + this.tableLayoutPanel1.Controls.Add(this.buttonDot, 2, 5); + this.tableLayoutPanel1.Controls.Add(this.button2, 1, 4); + this.tableLayoutPanel1.Controls.Add(this.button1, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.button0, 1, 5); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 7; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(428, 355); + this.tableLayoutPanel1.TabIndex = 21; + this.tableLayoutPanel1.Paint += new System.Windows.Forms.PaintEventHandler(this.tableLayoutPanel1_Paint_1); + // + // buttonText + // + this.tableLayoutPanel1.SetColumnSpan(this.buttonText, 4); + this.buttonText.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonText.Location = new System.Drawing.Point(3, 23); + this.buttonText.Name = "buttonText"; + this.buttonText.Size = new System.Drawing.Size(422, 49); + this.buttonText.TabIndex = 20; + this.buttonText.Text = "0"; + this.buttonText.UseVisualStyleBackColor = true; + // + // buttonResetAll + // + this.buttonResetAll.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonResetAll.Location = new System.Drawing.Point(110, 78); + this.buttonResetAll.Name = "buttonResetAll"; + this.buttonResetAll.Size = new System.Drawing.Size(101, 49); + this.buttonResetAll.TabIndex = 17; + this.buttonResetAll.Text = "c"; + this.buttonResetAll.UseVisualStyleBackColor = true; + this.buttonResetAll.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonResetAll_MouseClick); + // + // buttonResetString + // + this.buttonResetString.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonResetString.Location = new System.Drawing.Point(3, 78); + this.buttonResetString.Name = "buttonResetString"; + this.buttonResetString.Size = new System.Drawing.Size(101, 49); + this.buttonResetString.TabIndex = 18; + this.buttonResetString.Text = "ce"; + this.buttonResetString.UseVisualStyleBackColor = true; + this.buttonResetString.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonResetString_MouseClick); + // + // buttonDelete + // + this.buttonDelete.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonDelete.Location = new System.Drawing.Point(217, 78); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(101, 49); + this.buttonDelete.TabIndex = 19; + this.buttonDelete.Text = "delete"; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonDelete_MouseClick); + // + // buttonMultiplication + // + this.buttonMultiplication.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonMultiplication.Location = new System.Drawing.Point(324, 78); + this.buttonMultiplication.Name = "buttonMultiplication"; + this.buttonMultiplication.Size = new System.Drawing.Size(101, 49); + this.buttonMultiplication.TabIndex = 14; + this.buttonMultiplication.Text = "*"; + this.buttonMultiplication.UseVisualStyleBackColor = true; + this.buttonMultiplication.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlus_MouseClick); + // + // button9 + // + this.button9.Dock = System.Windows.Forms.DockStyle.Fill; + this.button9.Location = new System.Drawing.Point(217, 133); + this.button9.Name = "button9"; + this.button9.Size = new System.Drawing.Size(101, 49); + this.button9.TabIndex = 8; + this.button9.Text = "9"; + this.button9.UseVisualStyleBackColor = true; + this.button9.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // button8 + // + this.button8.Dock = System.Windows.Forms.DockStyle.Fill; + this.button8.Location = new System.Drawing.Point(110, 133); + this.button8.Name = "button8"; + this.button8.Size = new System.Drawing.Size(101, 49); + this.button8.TabIndex = 7; + this.button8.Text = "8"; + this.button8.UseVisualStyleBackColor = true; + this.button8.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // button7 + // + this.button7.Dock = System.Windows.Forms.DockStyle.Fill; + this.button7.Location = new System.Drawing.Point(3, 133); + this.button7.Name = "button7"; + this.button7.Size = new System.Drawing.Size(101, 49); + this.button7.TabIndex = 6; + this.button7.Text = "7"; + this.button7.UseVisualStyleBackColor = true; + this.button7.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // button4 + // + this.button4.Dock = System.Windows.Forms.DockStyle.Fill; + this.button4.Location = new System.Drawing.Point(3, 188); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(101, 49); + this.button4.TabIndex = 3; + this.button4.Text = "4"; + this.button4.UseVisualStyleBackColor = true; + this.button4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // button5 + // + this.button5.Dock = System.Windows.Forms.DockStyle.Fill; + this.button5.Location = new System.Drawing.Point(110, 188); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(101, 49); + this.button5.TabIndex = 4; + this.button5.Text = "5"; + this.button5.UseVisualStyleBackColor = true; + this.button5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // button6 + // + this.button6.Dock = System.Windows.Forms.DockStyle.Fill; + this.button6.Location = new System.Drawing.Point(217, 188); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(101, 49); + this.button6.TabIndex = 5; + this.button6.Text = "6"; + this.button6.UseVisualStyleBackColor = true; + this.button6.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // buttonDivide + // + this.buttonDivide.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonDivide.Location = new System.Drawing.Point(324, 133); + this.buttonDivide.Name = "buttonDivide"; + this.buttonDivide.Size = new System.Drawing.Size(101, 49); + this.buttonDivide.TabIndex = 15; + this.buttonDivide.Text = "/"; + this.buttonDivide.UseVisualStyleBackColor = true; + this.buttonDivide.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlus_MouseClick); + // + // buttonMinus + // + this.buttonMinus.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonMinus.Location = new System.Drawing.Point(324, 188); + this.buttonMinus.Name = "buttonMinus"; + this.buttonMinus.Size = new System.Drawing.Size(101, 49); + this.buttonMinus.TabIndex = 13; + this.buttonMinus.Text = "-"; + this.buttonMinus.UseVisualStyleBackColor = true; + this.buttonMinus.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlus_MouseClick); + // + // buttonPlus + // + this.buttonPlus.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonPlus.Location = new System.Drawing.Point(324, 243); + this.buttonPlus.Name = "buttonPlus"; + this.buttonPlus.Size = new System.Drawing.Size(101, 49); + this.buttonPlus.TabIndex = 12; + this.buttonPlus.Text = "+"; + this.buttonPlus.UseVisualStyleBackColor = true; + this.buttonPlus.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlus_MouseClick); + // + // button3 + // + this.button3.Dock = System.Windows.Forms.DockStyle.Fill; + this.button3.Location = new System.Drawing.Point(217, 243); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(101, 49); + this.button3.TabIndex = 2; + this.button3.Text = "3"; + this.button3.UseVisualStyleBackColor = true; + this.button3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // button2 + // + this.button2.Dock = System.Windows.Forms.DockStyle.Fill; + this.button2.Location = new System.Drawing.Point(110, 243); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(101, 49); + this.button2.TabIndex = 1; + this.button2.Text = "2"; + this.button2.UseVisualStyleBackColor = true; + this.button2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // button1 + // + this.button1.Dock = System.Windows.Forms.DockStyle.Fill; + this.button1.Location = new System.Drawing.Point(3, 243); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(101, 49); + this.button1.TabIndex = 0; + this.button1.Text = "1"; + this.button1.UseVisualStyleBackColor = true; + this.button1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.button1_MouseClick); + // + // CalculatorForms + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(428, 355); + this.Controls.Add(this.tableLayoutPanel1); + this.MinimumSize = new System.Drawing.Size(300, 300); + this.Name = "CalculatorForms"; + this.Text = "Form1"; + this.tableLayoutPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Button buttonPlusMinus; + private System.Windows.Forms.Button button0; + private System.Windows.Forms.Button buttonDot; + private System.Windows.Forms.Button buttonEqual; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Button buttonResetAll; + private System.Windows.Forms.Button buttonResetString; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonMultiplication; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.Button button8; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.Button buttonDivide; + private System.Windows.Forms.Button buttonMinus; + private System.Windows.Forms.Button buttonPlus; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button buttonText; + } +} \ No newline at end of file diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs new file mode 100644 index 0000000..7f7a861 --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs @@ -0,0 +1,169 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace hw7CalculatorWinForms +{ + public partial class CalculatorForms : Form + { + private string NumberFirst = ""; + + private string NumberSecond = ""; + + private int CountNumber = 0; + + private string Operator = ""; + + private bool IsMinus = false; + + public CalculatorForms() + { + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + + } + + private void button1_MouseClick(object sender, MouseEventArgs e) + { + if (Operator != "") + { + CountNumber = 1; + } + if (CountNumber == 0) + { + NumberFirst += (sender as Button).Text; + buttonText.Text = NumberFirst; + } + else + { + NumberSecond += (sender as Button).Text; + buttonText.Text = NumberSecond; + } + } + + private void buttonPlusMinus_MouseClick(object sender, MouseEventArgs e) + { + if (!IsMinus) + { + if (CountNumber == 0) + { + NumberFirst = "-" + NumberFirst; + buttonText.Text = NumberFirst; + } + else + { + NumberSecond = "-" + NumberSecond; + buttonText.Text = NumberSecond; + } + } + else + { + if (CountNumber == 0) + { + NumberFirst = NumberFirst.Substring(1); + buttonText.Text = NumberFirst; + } + else + { + NumberSecond = NumberSecond.Substring(1); + buttonText.Text = NumberSecond; + } + } + IsMinus = !IsMinus; + } + + private void buttonPlus_MouseClick(object sender, MouseEventArgs e) + { + Operator = (sender as Button).Text; + if (NumberFirst != "" && NumberSecond != "") + { + CalculatorTools.Calculate(ref NumberFirst, NumberSecond, Operator); + Operator = NumberSecond = ""; + CountNumber = 1; + buttonText.Text = NumberFirst; + } + } + + + private void buttonEqual_MouseClick(object sender, MouseEventArgs e) + { + try + { + CalculatorTools.Calculate(ref NumberFirst, NumberSecond, Operator); + } + catch (DivideByZeroException) + { + NumberFirst = NumberSecond = Operator = ""; + buttonText.Text = "Error"; + CountNumber = 0; + return; + } + NumberSecond = Operator = ""; + CountNumber = 1; + buttonText.Text = NumberFirst; + } + + private void buttonDelete_MouseClick(object sender, MouseEventArgs e) + { + if (Operator == "") + { + if (NumberFirst.Length == 0) + { + return; + } + NumberFirst = NumberFirst.Substring(0, NumberFirst.Length - 1); + buttonText.Text = NumberFirst; + } + else + { + if (NumberSecond.Length == 0) + { + return; + } + NumberSecond = NumberSecond.Substring(0, NumberSecond.Length - 1); + buttonText.Text = NumberSecond; + } + } + + private void buttonResetAll_MouseClick(object sender, MouseEventArgs e) + { + NumberFirst = NumberSecond = Operator = ""; + CountNumber = 0; + buttonText.Text = "0"; + } + + private void buttonResetString_MouseClick(object sender, MouseEventArgs e) + { + if (Operator == "") + { + NumberFirst = NumberSecond = Operator = ""; + CountNumber = 0; + buttonText.Text = "0"; + } + else + { + NumberSecond = ""; + buttonText.Text = NumberFirst; + } + } + + private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e) + { + + } + + private void tableLayoutPanel1_Paint_1(object sender, PaintEventArgs e) + { + + } + } +} diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.resx b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs new file mode 100644 index 0000000..726308b --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace hw7CalculatorWinForms +{ + static public class CalculatorTools + { + static public void Calculate(ref string str1, string str2, string sign) + { + switch (sign) + { + case "+": + str1 = Convert.ToString(double.Parse(str1) + double.Parse(str2)); + break; + case "-": + str1 = Convert.ToString(double.Parse(str1) - double.Parse(str2)); + break; + case "*": + str1 = Convert.ToString(double.Parse(str1) * double.Parse(str2)); + break; + case "/": + if (double.Parse(str2) == 0) + { + throw new DivideByZeroException(); + } + str1 = Convert.ToString(double.Parse(str1) / double.Parse(str2)); + break; + } + } + } +} diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/Program.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/Program.cs new file mode 100644 index 0000000..ab2beaa --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/Program.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace hw7CalculatorWinForms +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.SetHighDpiMode(HighDpiMode.SystemAware); + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new CalculatorForms()); + } + } +} diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/hw7CalculatorWinForms.csproj b/hw7CalculatorWinForms/hw7CalculatorWinForms/hw7CalculatorWinForms.csproj new file mode 100644 index 0000000..a2d4310 --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/hw7CalculatorWinForms.csproj @@ -0,0 +1,9 @@ + + + + WinExe + net5.0-windows + true + + + \ No newline at end of file From 9cbf856990b30709ca6dc59a4e8b4965d9bdac39 Mon Sep 17 00:00:00 2001 From: MikePuzanov <89803250877@mail.ru> Date: Sun, 25 Apr 2021 13:29:02 +0300 Subject: [PATCH 2/6] reboot tests --- .../{CalculatorToolsTest.cs => UnitTest1.cs} | 1 - .../hw7CalculatorWinForms.Test.csproj | 6 +----- hw7CalculatorWinForms/hw7CalculatorWinForms.sln | 12 ++++++------ 3 files changed, 7 insertions(+), 12 deletions(-) rename hw7CalculatorWinForms/hw7CalculatorWinForms.Test/{CalculatorToolsTest.cs => UnitTest1.cs} (89%) diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorToolsTest.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/UnitTest1.cs similarity index 89% rename from hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorToolsTest.cs rename to hw7CalculatorWinForms/hw7CalculatorWinForms.Test/UnitTest1.cs index 1766636..fa8f91d 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorToolsTest.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/UnitTest1.cs @@ -12,7 +12,6 @@ public void Setup() [Test] public void Test1() { - var number = "2"; Assert.Pass(); } } diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj index 3d572b8..223e22e 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj @@ -9,11 +9,7 @@ - - - - - + diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.sln b/hw7CalculatorWinForms/hw7CalculatorWinForms.sln index 629b3ca..d878d39 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.sln +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.31205.134 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hw7CalculatorWinForms", "hw7CalculatorWinForms\hw7CalculatorWinForms.csproj", "{64316CB1-E781-4469-90CA-9C1F5CDE923C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hw7CalculatorWinForms", "hw7CalculatorWinForms\hw7CalculatorWinForms.csproj", "{64316CB1-E781-4469-90CA-9C1F5CDE923C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hw7CalculatorWinForms.Test", "hw7CalculatorWinForms.Test\hw7CalculatorWinForms.Test.csproj", "{F3C02208-AF5C-47EC-ACC7-9E4210388B04}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hw7CalculatorWinForms.Test", "hw7CalculatorWinForms.Test\hw7CalculatorWinForms.Test.csproj", "{3CE591D3-C8C1-4245-9A2A-0942737C390F}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -17,10 +17,10 @@ Global {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Debug|Any CPU.Build.0 = Debug|Any CPU {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Release|Any CPU.ActiveCfg = Release|Any CPU {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Release|Any CPU.Build.0 = Release|Any CPU - {F3C02208-AF5C-47EC-ACC7-9E4210388B04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F3C02208-AF5C-47EC-ACC7-9E4210388B04}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F3C02208-AF5C-47EC-ACC7-9E4210388B04}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F3C02208-AF5C-47EC-ACC7-9E4210388B04}.Release|Any CPU.Build.0 = Release|Any CPU + {3CE591D3-C8C1-4245-9A2A-0942737C390F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3CE591D3-C8C1-4245-9A2A-0942737C390F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3CE591D3-C8C1-4245-9A2A-0942737C390F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3CE591D3-C8C1-4245-9A2A-0942737C390F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 5c24c6164a5e732a6c7d84705af75d4be7fcc717 Mon Sep 17 00:00:00 2001 From: MikePuzanov <89803250877@mail.ru> Date: Sun, 25 Apr 2021 14:04:59 +0300 Subject: [PATCH 3/6] add test --- .../CalculatorTools.Test.cs | 67 +++++++++++++++++++ .../hw7CalculatorWinForms.Test/UnitTest1.cs | 18 ----- .../hw7CalculatorWinForms.Test.csproj | 8 ++- .../hw7CalculatorWinForms.sln | 10 +-- .../hw7CalculatorWinForms.csproj | 2 +- 5 files changed, 79 insertions(+), 26 deletions(-) create mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorTools.Test.cs delete mode 100644 hw7CalculatorWinForms/hw7CalculatorWinForms.Test/UnitTest1.cs diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorTools.Test.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorTools.Test.cs new file mode 100644 index 0000000..86655ee --- /dev/null +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorTools.Test.cs @@ -0,0 +1,67 @@ +using NUnit.Framework; +using System; + +namespace hw7CalculatorWinForms.Test +{ + public class Tests + { + [SetUp] + public void Setup() + { + } + + [Test] + public void AdditionTest() + { + var number = "2"; + CalculatorTools.Calculate(ref number, "5", "+"); + Assert.AreEqual(number, "7"); + number = "2"; + CalculatorTools.Calculate(ref number, "-5", "+"); + Assert.AreEqual(number, "-3"); + } + + [Test] + public void SubtractionTest() + { + var number = "2"; + CalculatorTools.Calculate(ref number, "5", "-"); + Assert.AreEqual(number, "-3"); + number = "2"; + CalculatorTools.Calculate(ref number, "-5", "-"); + Assert.AreEqual(number, "7"); + } + + [Test] + public void MultiplicationTest() + { + var number = "2"; + CalculatorTools.Calculate(ref number, "5", "*"); + Assert.AreEqual(number, "10"); + number = "2"; + CalculatorTools.Calculate(ref number, "-5", "*"); + Assert.AreEqual(number, "-10"); + var number1 = "-2"; + CalculatorTools.Calculate(ref number1, "-5", "*"); + Assert.AreEqual(number1, "10"); + } + + [Test] + public void DivideTest() + { + var number = "10"; + CalculatorTools.Calculate(ref number, "5", "/"); + Assert.AreEqual(number, "2"); + number = "10"; + CalculatorTools.Calculate(ref number, "-5", "/"); + Assert.AreEqual(number, "-2"); + } + + [Test] + public void DivideExceptionTest() + { + var number = "2"; + Assert.Throws (() => CalculatorTools.Calculate(ref number, "0", "/")); + } + } +} \ No newline at end of file diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/UnitTest1.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/UnitTest1.cs deleted file mode 100644 index fa8f91d..0000000 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/UnitTest1.cs +++ /dev/null @@ -1,18 +0,0 @@ -using NUnit.Framework; - -namespace hw7CalculatorWinForms.Test -{ - public class Tests - { - [SetUp] - public void Setup() - { - } - - [Test] - public void Test1() - { - Assert.Pass(); - } - } -} \ No newline at end of file diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj index 223e22e..370f529 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj @@ -1,7 +1,7 @@ - net5.0 + netcoreapp3.1 false @@ -9,7 +9,11 @@ - + + + + + diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.sln b/hw7CalculatorWinForms/hw7CalculatorWinForms.sln index d878d39..32115a6 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.sln +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.sln @@ -5,7 +5,7 @@ VisualStudioVersion = 16.0.31205.134 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hw7CalculatorWinForms", "hw7CalculatorWinForms\hw7CalculatorWinForms.csproj", "{64316CB1-E781-4469-90CA-9C1F5CDE923C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hw7CalculatorWinForms.Test", "hw7CalculatorWinForms.Test\hw7CalculatorWinForms.Test.csproj", "{3CE591D3-C8C1-4245-9A2A-0942737C390F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hw7CalculatorWinForms.Test", "hw7CalculatorWinForms.Test\hw7CalculatorWinForms.Test.csproj", "{E823189C-A44F-4668-BCA8-B042FB3BD6D5}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -17,10 +17,10 @@ Global {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Debug|Any CPU.Build.0 = Debug|Any CPU {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Release|Any CPU.ActiveCfg = Release|Any CPU {64316CB1-E781-4469-90CA-9C1F5CDE923C}.Release|Any CPU.Build.0 = Release|Any CPU - {3CE591D3-C8C1-4245-9A2A-0942737C390F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3CE591D3-C8C1-4245-9A2A-0942737C390F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3CE591D3-C8C1-4245-9A2A-0942737C390F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3CE591D3-C8C1-4245-9A2A-0942737C390F}.Release|Any CPU.Build.0 = Release|Any CPU + {E823189C-A44F-4668-BCA8-B042FB3BD6D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E823189C-A44F-4668-BCA8-B042FB3BD6D5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E823189C-A44F-4668-BCA8-B042FB3BD6D5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E823189C-A44F-4668-BCA8-B042FB3BD6D5}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/hw7CalculatorWinForms.csproj b/hw7CalculatorWinForms/hw7CalculatorWinForms/hw7CalculatorWinForms.csproj index a2d4310..435c7a0 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/hw7CalculatorWinForms.csproj +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/hw7CalculatorWinForms.csproj @@ -2,7 +2,7 @@ WinExe - net5.0-windows + netcoreapp3.1 true From 484a0766d1521c099748b93d4d5e96275bf1d9a1 Mon Sep 17 00:00:00 2001 From: MikePuzanov <89803250877@mail.ru> Date: Fri, 21 May 2021 16:43:38 +0300 Subject: [PATCH 4/6] fix mistakes --- .../CalculatorTools.Test.cs | 65 +++++---- .../hw7CalculatorWinForms.Test.csproj | 2 +- .../hw7CalculatorWinForms.sln | 4 +- .../CalculatorForms.Designer.cs | 5 +- .../hw7CalculatorWinForms/CalculatorForms.cs | 123 +++++++++--------- .../hw7CalculatorWinForms/CalculatorTools.cs | 14 +- .../hw7CalculatorWinForms/Program.cs | 2 +- 7 files changed, 102 insertions(+), 113 deletions(-) diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorTools.Test.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorTools.Test.cs index 86655ee..46a883c 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorTools.Test.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/CalculatorTools.Test.cs @@ -1,67 +1,62 @@ using NUnit.Framework; using System; -namespace hw7CalculatorWinForms.Test +namespace Hw7CalculatorWinForms.Test { public class Tests { - [SetUp] - public void Setup() - { - } - [Test] public void AdditionTest() { - var number = "2"; - CalculatorTools.Calculate(ref number, "5", "+"); - Assert.AreEqual(number, "7"); - number = "2"; - CalculatorTools.Calculate(ref number, "-5", "+"); - Assert.AreEqual(number, "-3"); + double number = 2; + CalculatorTools.Calculate(ref number, 5, "+"); + Assert.AreEqual(number, 7); + number = 2; + CalculatorTools.Calculate(ref number, -5, "+"); + Assert.AreEqual(number, -3); } [Test] public void SubtractionTest() { - var number = "2"; - CalculatorTools.Calculate(ref number, "5", "-"); - Assert.AreEqual(number, "-3"); - number = "2"; - CalculatorTools.Calculate(ref number, "-5", "-"); - Assert.AreEqual(number, "7"); + double number = 2; + CalculatorTools.Calculate(ref number, 5, "-"); + Assert.AreEqual(number, -3); + number = 2; + CalculatorTools.Calculate(ref number, -5, "-"); + Assert.AreEqual(number, 7); } [Test] public void MultiplicationTest() { - var number = "2"; - CalculatorTools.Calculate(ref number, "5", "*"); - Assert.AreEqual(number, "10"); - number = "2"; - CalculatorTools.Calculate(ref number, "-5", "*"); - Assert.AreEqual(number, "-10"); - var number1 = "-2"; - CalculatorTools.Calculate(ref number1, "-5", "*"); - Assert.AreEqual(number1, "10"); + var number = 2.0; + CalculatorTools.Calculate(ref number, 5, "*"); + Assert.AreEqual(number, 10); + number = 2; + CalculatorTools.Calculate(ref number, -5, "*"); + Assert.AreEqual(number, -10); + var number1 = -2.0; + CalculatorTools.Calculate(ref number1, -5, "*"); + Assert.AreEqual(number1, 10); } [Test] public void DivideTest() { - var number = "10"; - CalculatorTools.Calculate(ref number, "5", "/"); - Assert.AreEqual(number, "2"); - number = "10"; - CalculatorTools.Calculate(ref number, "-5", "/"); - Assert.AreEqual(number, "-2"); + var number = 10.0; + CalculatorTools.Calculate(ref number, 5, "/"); + Assert.AreEqual(number, 2); + number = 10; + CalculatorTools.Calculate(ref number, -5, "/"); + Assert.AreEqual(number, -2); } [Test] public void DivideExceptionTest() { - var number = "2"; - Assert.Throws (() => CalculatorTools.Calculate(ref number, "0", "/")); + var number = 2.0; + Assert.Throws (() => CalculatorTools.Calculate(ref number, 0, "/")); } } } \ No newline at end of file diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj index 370f529..4b6529d 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.Test/hw7CalculatorWinForms.Test.csproj @@ -13,7 +13,7 @@ - + diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms.sln b/hw7CalculatorWinForms/hw7CalculatorWinForms.sln index 32115a6..d23c188 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms.sln +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.31205.134 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hw7CalculatorWinForms", "hw7CalculatorWinForms\hw7CalculatorWinForms.csproj", "{64316CB1-E781-4469-90CA-9C1F5CDE923C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hw7CalculatorWinForms", "hw7CalculatorWinForms\Hw7CalculatorWinForms.csproj", "{64316CB1-E781-4469-90CA-9C1F5CDE923C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "hw7CalculatorWinForms.Test", "hw7CalculatorWinForms.Test\hw7CalculatorWinForms.Test.csproj", "{E823189C-A44F-4668-BCA8-B042FB3BD6D5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hw7CalculatorWinForms.Test", "hw7CalculatorWinForms.Test\hw7CalculatorWinForms.Test.csproj", "{E823189C-A44F-4668-BCA8-B042FB3BD6D5}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs index 3a8af4d..db3c672 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs @@ -1,5 +1,5 @@  -namespace hw7CalculatorWinForms +namespace Hw7CalculatorWinForms { partial class CalculatorForms { @@ -140,7 +140,6 @@ private void InitializeComponent() this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 16.66667F)); this.tableLayoutPanel1.Size = new System.Drawing.Size(428, 355); this.tableLayoutPanel1.TabIndex = 21; - this.tableLayoutPanel1.Paint += new System.Windows.Forms.PaintEventHandler(this.tableLayoutPanel1_Paint_1); // // buttonText // @@ -337,7 +336,7 @@ private void InitializeComponent() this.Controls.Add(this.tableLayoutPanel1); this.MinimumSize = new System.Drawing.Size(300, 300); this.Name = "CalculatorForms"; - this.Text = "Form1"; + this.Text = "Calculator"; this.tableLayoutPanel1.ResumeLayout(false); this.ResumeLayout(false); diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs index 7f7a861..c691d07 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs @@ -8,136 +8,141 @@ using System.Threading.Tasks; using System.Windows.Forms; -namespace hw7CalculatorWinForms +namespace Hw7CalculatorWinForms { public partial class CalculatorForms : Form { - private string NumberFirst = ""; + private string numberFirst = ""; - private string NumberSecond = ""; + private string numberSecond = ""; - private int CountNumber = 0; + private int countNumber = 0; private string Operator = ""; - private bool IsMinus = false; + private bool isMinus = false; public CalculatorForms() - { - InitializeComponent(); - } - - private void Form1_Load(object sender, EventArgs e) - { - - } + => InitializeComponent(); private void button1_MouseClick(object sender, MouseEventArgs e) { if (Operator != "") { - CountNumber = 1; + countNumber = 1; } - if (CountNumber == 0) + if (countNumber == 0) { - NumberFirst += (sender as Button).Text; - buttonText.Text = NumberFirst; + numberFirst += (sender as Button).Text; + buttonText.Text = numberFirst; } else { - NumberSecond += (sender as Button).Text; - buttonText.Text = NumberSecond; + numberSecond += (sender as Button).Text; + buttonText.Text = numberSecond; } } private void buttonPlusMinus_MouseClick(object sender, MouseEventArgs e) { - if (!IsMinus) + if (!isMinus) { - if (CountNumber == 0) + if (countNumber == 0) { - NumberFirst = "-" + NumberFirst; - buttonText.Text = NumberFirst; + numberFirst = "-" + numberFirst; + buttonText.Text = numberFirst; } else { - NumberSecond = "-" + NumberSecond; - buttonText.Text = NumberSecond; + numberSecond = "-" + numberSecond; + buttonText.Text = numberSecond; } } else { - if (CountNumber == 0) + if (countNumber == 0) { - NumberFirst = NumberFirst.Substring(1); - buttonText.Text = NumberFirst; + numberFirst = numberFirst.Substring(1); + buttonText.Text = numberFirst; } else { - NumberSecond = NumberSecond.Substring(1); - buttonText.Text = NumberSecond; + numberSecond = numberSecond.Substring(1); + buttonText.Text = numberSecond; } } - IsMinus = !IsMinus; + isMinus = !isMinus; } private void buttonPlus_MouseClick(object sender, MouseEventArgs e) { Operator = (sender as Button).Text; - if (NumberFirst != "" && NumberSecond != "") + if (numberFirst != "" && numberSecond != "") { - CalculatorTools.Calculate(ref NumberFirst, NumberSecond, Operator); - Operator = NumberSecond = ""; - CountNumber = 1; - buttonText.Text = NumberFirst; + double number1 = double.Parse(numberFirst); + double number2 = double.Parse(numberSecond); + CalculatorTools.Calculate(ref number1, number2, Operator); + numberFirst = Convert.ToString(number1); + numberSecond = ""; + Operator =""; + countNumber = 1; + buttonText.Text = numberFirst; } } private void buttonEqual_MouseClick(object sender, MouseEventArgs e) { + double number1 = double.Parse(numberFirst); + double number2 = double.Parse(numberSecond); try { - CalculatorTools.Calculate(ref NumberFirst, NumberSecond, Operator); + CalculatorTools.Calculate(ref number1, number2, Operator); } catch (DivideByZeroException) { - NumberFirst = NumberSecond = Operator = ""; + numberFirst =""; + numberSecond = ""; + Operator = ""; buttonText.Text = "Error"; - CountNumber = 0; + countNumber = 0; return; } - NumberSecond = Operator = ""; - CountNumber = 1; - buttonText.Text = NumberFirst; + numberFirst = Convert.ToString(number1); + numberSecond = ""; + Operator = ""; + countNumber = 1; + buttonText.Text = numberFirst; } private void buttonDelete_MouseClick(object sender, MouseEventArgs e) { if (Operator == "") { - if (NumberFirst.Length == 0) + if (numberFirst.Length == 0) { return; } - NumberFirst = NumberFirst.Substring(0, NumberFirst.Length - 1); - buttonText.Text = NumberFirst; + numberFirst = numberFirst.Substring(0, numberFirst.Length - 1); + buttonText.Text = numberFirst; } else { - if (NumberSecond.Length == 0) + if (numberSecond.Length == 0) { return; } - NumberSecond = NumberSecond.Substring(0, NumberSecond.Length - 1); - buttonText.Text = NumberSecond; + numberSecond = numberSecond.Substring(0, numberSecond.Length - 1); + buttonText.Text = numberSecond; } } private void buttonResetAll_MouseClick(object sender, MouseEventArgs e) { - NumberFirst = NumberSecond = Operator = ""; - CountNumber = 0; + numberFirst = ""; + numberSecond = ""; + Operator = ""; + countNumber = 0; buttonText.Text = "0"; } @@ -145,25 +150,15 @@ private void buttonResetString_MouseClick(object sender, MouseEventArgs e) { if (Operator == "") { - NumberFirst = NumberSecond = Operator = ""; - CountNumber = 0; + numberFirst = numberSecond = Operator = ""; + countNumber = 0; buttonText.Text = "0"; } else { - NumberSecond = ""; - buttonText.Text = NumberFirst; + numberSecond = ""; + buttonText.Text = numberFirst; } } - - private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e) - { - - } - - private void tableLayoutPanel1_Paint_1(object sender, PaintEventArgs e) - { - - } } } diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs index 726308b..abe8efb 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs @@ -4,29 +4,29 @@ using System.Text; using System.Threading.Tasks; -namespace hw7CalculatorWinForms +namespace Hw7CalculatorWinForms { static public class CalculatorTools { - static public void Calculate(ref string str1, string str2, string sign) + static public void Calculate(ref double str1, double str2, string sign) { switch (sign) { case "+": - str1 = Convert.ToString(double.Parse(str1) + double.Parse(str2)); + str1 = str1 + str2; break; case "-": - str1 = Convert.ToString(double.Parse(str1) - double.Parse(str2)); + str1 = str1 - str2; break; case "*": - str1 = Convert.ToString(double.Parse(str1) * double.Parse(str2)); + str1 = str1 * str2; break; case "/": - if (double.Parse(str2) == 0) + if (str2 == 0) { throw new DivideByZeroException(); } - str1 = Convert.ToString(double.Parse(str1) / double.Parse(str2)); + str1 = str1 / str2; break; } } diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/Program.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/Program.cs index ab2beaa..0d5259a 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/Program.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/Program.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using System.Windows.Forms; -namespace hw7CalculatorWinForms +namespace Hw7CalculatorWinForms { static class Program { From c7c1c2fc1d5bba0c7794850a79b3531b4f34436e Mon Sep 17 00:00:00 2001 From: MikePuzanov <89803250877@mail.ru> Date: Thu, 3 Jun 2021 20:51:17 +0300 Subject: [PATCH 5/6] add comments --- .../hw7CalculatorWinForms/CalculatorForms.cs | 4 +++- .../hw7CalculatorWinForms/CalculatorTools.cs | 21 +++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs index c691d07..781b48a 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs @@ -10,6 +10,9 @@ namespace Hw7CalculatorWinForms { + /// + /// класс с интерфейс калькулятора + /// public partial class CalculatorForms : Form { private string numberFirst = ""; @@ -90,7 +93,6 @@ private void buttonPlus_MouseClick(object sender, MouseEventArgs e) } } - private void buttonEqual_MouseClick(object sender, MouseEventArgs e) { double number1 = double.Parse(numberFirst); diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs index abe8efb..63d46bf 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorTools.cs @@ -6,27 +6,36 @@ namespace Hw7CalculatorWinForms { + /// + /// класс для подсчета значений + /// static public class CalculatorTools { - static public void Calculate(ref double str1, double str2, string sign) + /// + /// Считает значение двух чисел по знаку + /// + /// первое число + /// второе число + /// арифмитический знак + static public void Calculate(ref double number1, double number2, string sign) { switch (sign) { case "+": - str1 = str1 + str2; + number1 = number1 + number2; break; case "-": - str1 = str1 - str2; + number1 = number1 - number2; break; case "*": - str1 = str1 * str2; + number1 = number1 * number2; break; case "/": - if (str2 == 0) + if (number2 == 0) { throw new DivideByZeroException(); } - str1 = str1 / str2; + number1 = number1 / number2; break; } } From 3c85cfa00b5a9eaf0ca4083029ee5dc67ccac0d8 Mon Sep 17 00:00:00 2001 From: MikePuzanov <89803250877@mail.ru> Date: Fri, 4 Jun 2021 01:31:14 +0300 Subject: [PATCH 6/6] fix bugs --- .../CalculatorForms.Designer.cs | 8 ++-- .../hw7CalculatorWinForms/CalculatorForms.cs | 37 ++++++++++++------- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs index db3c672..74f3bd0 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.Designer.cs @@ -194,7 +194,7 @@ private void InitializeComponent() this.buttonMultiplication.TabIndex = 14; this.buttonMultiplication.Text = "*"; this.buttonMultiplication.UseVisualStyleBackColor = true; - this.buttonMultiplication.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlus_MouseClick); + this.buttonMultiplication.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonSign_MouseClick); // // button9 // @@ -271,7 +271,7 @@ private void InitializeComponent() this.buttonDivide.TabIndex = 15; this.buttonDivide.Text = "/"; this.buttonDivide.UseVisualStyleBackColor = true; - this.buttonDivide.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlus_MouseClick); + this.buttonDivide.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonSign_MouseClick); // // buttonMinus // @@ -282,7 +282,7 @@ private void InitializeComponent() this.buttonMinus.TabIndex = 13; this.buttonMinus.Text = "-"; this.buttonMinus.UseVisualStyleBackColor = true; - this.buttonMinus.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlus_MouseClick); + this.buttonMinus.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonSign_MouseClick); // // buttonPlus // @@ -293,7 +293,7 @@ private void InitializeComponent() this.buttonPlus.TabIndex = 12; this.buttonPlus.Text = "+"; this.buttonPlus.UseVisualStyleBackColor = true; - this.buttonPlus.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonPlus_MouseClick); + this.buttonPlus.MouseClick += new System.Windows.Forms.MouseEventHandler(this.buttonSign_MouseClick); // // button3 // diff --git a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs index 781b48a..18da022 100644 --- a/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs +++ b/hw7CalculatorWinForms/hw7CalculatorWinForms/CalculatorForms.cs @@ -21,7 +21,7 @@ public partial class CalculatorForms : Form private int countNumber = 0; - private string Operator = ""; + private string sign = ""; private bool isMinus = false; @@ -30,7 +30,7 @@ public CalculatorForms() private void button1_MouseClick(object sender, MouseEventArgs e) { - if (Operator != "") + if (sign != "") { countNumber = 1; } @@ -77,17 +77,17 @@ private void buttonPlusMinus_MouseClick(object sender, MouseEventArgs e) isMinus = !isMinus; } - private void buttonPlus_MouseClick(object sender, MouseEventArgs e) + private void buttonSign_MouseClick(object sender, MouseEventArgs e) { - Operator = (sender as Button).Text; + sign = (sender as Button).Text; if (numberFirst != "" && numberSecond != "") { double number1 = double.Parse(numberFirst); double number2 = double.Parse(numberSecond); - CalculatorTools.Calculate(ref number1, number2, Operator); + CalculatorTools.Calculate(ref number1, number2, sign); numberFirst = Convert.ToString(number1); numberSecond = ""; - Operator =""; + sign = ""; countNumber = 1; buttonText.Text = numberFirst; } @@ -99,27 +99,27 @@ private void buttonEqual_MouseClick(object sender, MouseEventArgs e) double number2 = double.Parse(numberSecond); try { - CalculatorTools.Calculate(ref number1, number2, Operator); + CalculatorTools.Calculate(ref number1, number2, sign); } catch (DivideByZeroException) { numberFirst =""; numberSecond = ""; - Operator = ""; + sign = ""; buttonText.Text = "Error"; countNumber = 0; return; } numberFirst = Convert.ToString(number1); numberSecond = ""; - Operator = ""; + sign = ""; countNumber = 1; buttonText.Text = numberFirst; } private void buttonDelete_MouseClick(object sender, MouseEventArgs e) { - if (Operator == "") + if (sign == "") { if (numberFirst.Length == 0) { @@ -127,6 +127,10 @@ private void buttonDelete_MouseClick(object sender, MouseEventArgs e) } numberFirst = numberFirst.Substring(0, numberFirst.Length - 1); buttonText.Text = numberFirst; + if (numberFirst == "") + { + isMinus = false; + } } else { @@ -136,6 +140,10 @@ private void buttonDelete_MouseClick(object sender, MouseEventArgs e) } numberSecond = numberSecond.Substring(0, numberSecond.Length - 1); buttonText.Text = numberSecond; + if (numberSecond == "") + { + isMinus = false; + } } } @@ -143,21 +151,24 @@ private void buttonResetAll_MouseClick(object sender, MouseEventArgs e) { numberFirst = ""; numberSecond = ""; - Operator = ""; + sign = ""; countNumber = 0; + isMinus = false; buttonText.Text = "0"; } private void buttonResetString_MouseClick(object sender, MouseEventArgs e) { - if (Operator == "") + if (sign == "") { - numberFirst = numberSecond = Operator = ""; + numberFirst = numberSecond = sign = ""; countNumber = 0; buttonText.Text = "0"; + isMinus = false; } else { + isMinus = false; numberSecond = ""; buttonText.Text = numberFirst; }