commit 29719402ebceec47d5a7eb743d825d876594c1f3 Author: Student Date: Wed Dec 10 16:40:18 2025 +0400 first commit diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..848ea48 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,11 @@ +{ + "ExpandedNodes": [ + "", + "\\calculator", + "\\calculator\\calculator", + "\\calculator\\calculator\\bin", + "\\calculator\\calculator\\bin\\Debug" + ], + "SelectedNode": "\\calculator\\calculator\\bin\\Debug\\calculator.exe", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/new/FileContentIndex/39adbeaa-1321-4fcb-9714-dcf7989e2ace.vsidx b/.vs/new/FileContentIndex/39adbeaa-1321-4fcb-9714-dcf7989e2ace.vsidx new file mode 100644 index 0000000..ce9d12e Binary files /dev/null and b/.vs/new/FileContentIndex/39adbeaa-1321-4fcb-9714-dcf7989e2ace.vsidx differ diff --git a/.vs/new/v17/.wsuo b/.vs/new/v17/.wsuo new file mode 100644 index 0000000..8884bd4 Binary files /dev/null and b/.vs/new/v17/.wsuo differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..19315ff Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/AnalaizerClass.dll b/AnalaizerClass.dll new file mode 100644 index 0000000..9644b50 Binary files /dev/null and b/AnalaizerClass.dll differ diff --git a/CalcClass.dll b/CalcClass.dll new file mode 100644 index 0000000..272e88f Binary files /dev/null and b/CalcClass.dll differ diff --git a/Form1.Designer.cs b/Form1.Designer.cs new file mode 100644 index 0000000..09f89a9 --- /dev/null +++ b/Form1.Designer.cs @@ -0,0 +1,483 @@ +namespace calculator +{ + partial class Form1 + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.label1 = new System.Windows.Forms.Label(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = 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.button7 = new System.Windows.Forms.Button(); + this.button8 = new System.Windows.Forms.Button(); + this.button9 = new System.Windows.Forms.Button(); + this.button10 = new System.Windows.Forms.Button(); + this.button11 = new System.Windows.Forms.Button(); + this.button12 = new System.Windows.Forms.Button(); + this.button13 = new System.Windows.Forms.Button(); + this.button14 = new System.Windows.Forms.Button(); + this.button15 = new System.Windows.Forms.Button(); + this.button16 = new System.Windows.Forms.Button(); + this.button17 = new System.Windows.Forms.Button(); + this.button18 = new System.Windows.Forms.Button(); + this.button19 = new System.Windows.Forms.Button(); + this.button20 = new System.Windows.Forms.Button(); + this.button21 = new System.Windows.Forms.Button(); + this.button22 = new System.Windows.Forms.Button(); + this.button23 = new System.Windows.Forms.Button(); + this.button24 = new System.Windows.Forms.Button(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.button25 = new System.Windows.Forms.Button(); + this.button26 = new System.Windows.Forms.Button(); + this.button27 = new System.Windows.Forms.Button(); + this.button28 = new System.Windows.Forms.Button(); + this.button29 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(19, 58); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(59, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Результат"; + this.label1.Click += new System.EventHandler(this.label1_Click); + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(94, 25); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(202, 20); + this.textBox1.TabIndex = 1; + this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // button1 + // + this.button1.ForeColor = System.Drawing.SystemColors.ActiveCaption; + this.button1.Location = new System.Drawing.Point(246, 247); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(50, 37); + this.button1.TabIndex = 2; + this.button1.Text = "M+"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button2 + // + this.button2.ForeColor = System.Drawing.SystemColors.ActiveCaption; + this.button2.Location = new System.Drawing.Point(246, 204); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(50, 37); + this.button2.TabIndex = 3; + this.button2.Text = "MR"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click_1); + // + // button3 + // + this.button3.Location = new System.Drawing.Point(22, 98); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(50, 37); + this.button3.TabIndex = 4; + this.button3.Text = "("; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // button4 + // + this.button4.Location = new System.Drawing.Point(78, 98); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(50, 37); + this.button4.TabIndex = 5; + this.button4.Text = ")"; + this.button4.UseVisualStyleBackColor = true; + this.button4.Click += new System.EventHandler(this.button4_Click); + // + // button5 + // + this.button5.Location = new System.Drawing.Point(134, 98); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(79, 37); + this.button5.TabIndex = 6; + this.button5.Text = "Сброс"; + this.button5.UseVisualStyleBackColor = true; + this.button5.Click += new System.EventHandler(this.button5_Click); + // + // button6 + // + this.button6.ForeColor = System.Drawing.SystemColors.ActiveCaption; + this.button6.Location = new System.Drawing.Point(246, 290); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(50, 37); + this.button6.TabIndex = 7; + this.button6.Text = "MC"; + this.button6.UseVisualStyleBackColor = true; + this.button6.Click += new System.EventHandler(this.button6_Click); + // + // button7 + // + this.button7.Location = new System.Drawing.Point(219, 98); + this.button7.Name = "button7"; + this.button7.Size = new System.Drawing.Size(77, 37); + this.button7.TabIndex = 8; + this.button7.Text = "<-x"; + this.button7.UseVisualStyleBackColor = true; + this.button7.Click += new System.EventHandler(this.button7_Click); + // + // button8 + // + this.button8.Location = new System.Drawing.Point(190, 204); + this.button8.Name = "button8"; + this.button8.Size = new System.Drawing.Size(50, 37); + this.button8.TabIndex = 9; + this.button8.Text = "/"; + this.button8.UseVisualStyleBackColor = true; + this.button8.Click += new System.EventHandler(this.button8_Click); + // + // button9 + // + this.button9.Location = new System.Drawing.Point(22, 204); + this.button9.Name = "button9"; + this.button9.Size = new System.Drawing.Size(50, 37); + this.button9.TabIndex = 10; + this.button9.Text = "1"; + this.button9.UseVisualStyleBackColor = true; + this.button9.Click += new System.EventHandler(this.button9_Click); + // + // button10 + // + this.button10.Location = new System.Drawing.Point(78, 204); + this.button10.Name = "button10"; + this.button10.Size = new System.Drawing.Size(50, 37); + this.button10.TabIndex = 11; + this.button10.Text = "2"; + this.button10.UseVisualStyleBackColor = true; + this.button10.Click += new System.EventHandler(this.button10_Click); + // + // button11 + // + this.button11.Location = new System.Drawing.Point(134, 204); + this.button11.Name = "button11"; + this.button11.Size = new System.Drawing.Size(50, 37); + this.button11.TabIndex = 12; + this.button11.Text = "3"; + this.button11.UseVisualStyleBackColor = true; + this.button11.Click += new System.EventHandler(this.button11_Click); + // + // button12 + // + this.button12.Location = new System.Drawing.Point(190, 247); + this.button12.Name = "button12"; + this.button12.Size = new System.Drawing.Size(50, 37); + this.button12.TabIndex = 13; + this.button12.Text = "*"; + this.button12.UseVisualStyleBackColor = true; + this.button12.Click += new System.EventHandler(this.button12_Click); + // + // button13 + // + this.button13.Location = new System.Drawing.Point(22, 247); + this.button13.Name = "button13"; + this.button13.Size = new System.Drawing.Size(50, 37); + this.button13.TabIndex = 14; + this.button13.Text = "4"; + this.button13.UseVisualStyleBackColor = true; + this.button13.Click += new System.EventHandler(this.button13_Click); + // + // button14 + // + this.button14.Location = new System.Drawing.Point(78, 247); + this.button14.Name = "button14"; + this.button14.Size = new System.Drawing.Size(50, 37); + this.button14.TabIndex = 15; + this.button14.Text = "5"; + this.button14.UseVisualStyleBackColor = true; + this.button14.Click += new System.EventHandler(this.button14_Click); + // + // button15 + // + this.button15.Location = new System.Drawing.Point(134, 247); + this.button15.Name = "button15"; + this.button15.Size = new System.Drawing.Size(50, 37); + this.button15.TabIndex = 16; + this.button15.Text = "6"; + this.button15.UseVisualStyleBackColor = true; + this.button15.Click += new System.EventHandler(this.button15_Click); + // + // button16 + // + this.button16.Location = new System.Drawing.Point(190, 290); + this.button16.Name = "button16"; + this.button16.Size = new System.Drawing.Size(50, 37); + this.button16.TabIndex = 17; + this.button16.Text = "-"; + this.button16.UseVisualStyleBackColor = true; + this.button16.Click += new System.EventHandler(this.button16_Click); + // + // button17 + // + this.button17.Location = new System.Drawing.Point(22, 290); + this.button17.Name = "button17"; + this.button17.Size = new System.Drawing.Size(50, 37); + this.button17.TabIndex = 18; + this.button17.Text = "7"; + this.button17.UseVisualStyleBackColor = true; + this.button17.Click += new System.EventHandler(this.button17_Click); + // + // button18 + // + this.button18.Location = new System.Drawing.Point(78, 290); + this.button18.Name = "button18"; + this.button18.Size = new System.Drawing.Size(50, 37); + this.button18.TabIndex = 19; + this.button18.Text = "8"; + this.button18.UseVisualStyleBackColor = true; + this.button18.Click += new System.EventHandler(this.button18_Click); + // + // button19 + // + this.button19.Location = new System.Drawing.Point(134, 290); + this.button19.Name = "button19"; + this.button19.Size = new System.Drawing.Size(50, 37); + this.button19.TabIndex = 20; + this.button19.Text = "9"; + this.button19.UseVisualStyleBackColor = true; + this.button19.Click += new System.EventHandler(this.button19_Click); + // + // button20 + // + this.button20.Location = new System.Drawing.Point(190, 333); + this.button20.Name = "button20"; + this.button20.Size = new System.Drawing.Size(50, 37); + this.button20.TabIndex = 21; + this.button20.Text = "+"; + this.button20.UseVisualStyleBackColor = true; + this.button20.Click += new System.EventHandler(this.button20_Click); + // + // button21 + // + this.button21.Location = new System.Drawing.Point(246, 333); + this.button21.Name = "button21"; + this.button21.Size = new System.Drawing.Size(50, 37); + this.button21.TabIndex = 25; + this.button21.Text = "="; + this.button21.UseVisualStyleBackColor = true; + this.button21.Click += new System.EventHandler(this.button21_Click); + // + // button22 + // + this.button22.Location = new System.Drawing.Point(246, 161); + this.button22.Name = "button22"; + this.button22.Size = new System.Drawing.Size(50, 37); + this.button22.TabIndex = 24; + this.button22.Text = "%"; + this.button22.UseVisualStyleBackColor = true; + this.button22.Click += new System.EventHandler(this.button22_Click); + // + // button23 + // + this.button23.Location = new System.Drawing.Point(22, 333); + this.button23.Name = "button23"; + this.button23.Size = new System.Drawing.Size(50, 37); + this.button23.TabIndex = 23; + this.button23.Text = "+/-"; + this.button23.UseVisualStyleBackColor = true; + this.button23.Click += new System.EventHandler(this.button23_Click); + // + // button24 + // + this.button24.Location = new System.Drawing.Point(78, 333); + this.button24.Name = "button24"; + this.button24.Size = new System.Drawing.Size(50, 37); + this.button24.TabIndex = 22; + this.button24.Text = "0"; + this.button24.UseVisualStyleBackColor = true; + this.button24.Click += new System.EventHandler(this.button24_Click); + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(94, 55); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(202, 20); + this.textBox2.TabIndex = 26; + this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(19, 28); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(66, 13); + this.label2.TabIndex = 27; + this.label2.Text = "Выражение"; + this.label2.Click += new System.EventHandler(this.label2_Click); + // + // button25 + // + this.button25.Location = new System.Drawing.Point(134, 161); + this.button25.Name = "button25"; + this.button25.Size = new System.Drawing.Size(50, 37); + this.button25.TabIndex = 32; + this.button25.Text = "x2"; + this.button25.UseVisualStyleBackColor = true; + this.button25.Click += new System.EventHandler(this.button25_Click); + // + // button26 + // + this.button26.Location = new System.Drawing.Point(78, 161); + this.button26.Name = "button26"; + this.button26.Size = new System.Drawing.Size(50, 37); + this.button26.TabIndex = 31; + this.button26.Text = "cos"; + this.button26.UseVisualStyleBackColor = true; + this.button26.Click += new System.EventHandler(this.button26_Click); + // + // button27 + // + this.button27.Location = new System.Drawing.Point(22, 161); + this.button27.Name = "button27"; + this.button27.Size = new System.Drawing.Size(50, 37); + this.button27.TabIndex = 30; + this.button27.Text = "sin"; + this.button27.UseVisualStyleBackColor = true; + this.button27.Click += new System.EventHandler(this.button27_Click); + // + // button28 + // + this.button28.Location = new System.Drawing.Point(190, 161); + this.button28.Name = "button28"; + this.button28.Size = new System.Drawing.Size(50, 37); + this.button28.TabIndex = 29; + this.button28.Text = "x3"; + this.button28.UseVisualStyleBackColor = true; + this.button28.Click += new System.EventHandler(this.button28_Click); + // + // button29 + // + this.button29.ForeColor = System.Drawing.SystemColors.ActiveCaption; + this.button29.Location = new System.Drawing.Point(134, 333); + this.button29.Name = "button29"; + this.button29.Size = new System.Drawing.Size(50, 37); + this.button29.TabIndex = 28; + this.button29.Text = "."; + this.button29.UseVisualStyleBackColor = true; + this.button29.Click += new System.EventHandler(this.button29_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(316, 395); + this.Controls.Add(this.button25); + this.Controls.Add(this.button26); + this.Controls.Add(this.button27); + this.Controls.Add(this.button28); + this.Controls.Add(this.button29); + this.Controls.Add(this.label2); + this.Controls.Add(this.textBox2); + this.Controls.Add(this.button21); + this.Controls.Add(this.button22); + this.Controls.Add(this.button23); + this.Controls.Add(this.button24); + this.Controls.Add(this.button20); + this.Controls.Add(this.button19); + this.Controls.Add(this.button18); + this.Controls.Add(this.button17); + this.Controls.Add(this.button16); + this.Controls.Add(this.button15); + this.Controls.Add(this.button14); + this.Controls.Add(this.button13); + this.Controls.Add(this.button12); + this.Controls.Add(this.button11); + this.Controls.Add(this.button10); + this.Controls.Add(this.button9); + this.Controls.Add(this.button8); + this.Controls.Add(this.button7); + this.Controls.Add(this.button6); + this.Controls.Add(this.button5); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.label1); + this.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "Form1"; + this.Text = "Калькулятор"; + this.TransparencyKey = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.Load += new System.EventHandler(this.Form1_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.Button button8; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.Button button10; + private System.Windows.Forms.Button button11; + private System.Windows.Forms.Button button12; + private System.Windows.Forms.Button button13; + private System.Windows.Forms.Button button14; + private System.Windows.Forms.Button button15; + private System.Windows.Forms.Button button16; + private System.Windows.Forms.Button button17; + private System.Windows.Forms.Button button18; + private System.Windows.Forms.Button button19; + private System.Windows.Forms.Button button20; + private System.Windows.Forms.Button button21; + private System.Windows.Forms.Button button22; + private System.Windows.Forms.Button button23; + private System.Windows.Forms.Button button24; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button button25; + private System.Windows.Forms.Button button26; + private System.Windows.Forms.Button button27; + private System.Windows.Forms.Button button28; + private System.Windows.Forms.Button button29; + } +} + diff --git a/Form1.cs b/Form1.cs new file mode 100644 index 0000000..0e8c634 --- /dev/null +++ b/Form1.cs @@ -0,0 +1,284 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace calculator +{ + public partial class Form1 : Form + { + private decimal memoryStore = 0; + + public Form1() + { + InitializeComponent(); + } + + private void label1_Click(object sender, EventArgs e) + { + + } + + private void textBox1_TextChanged(object sender, EventArgs e) + { + + } + + private void button19_Click(object sender, EventArgs e) + { + textBox1.Text += "9"; + } + + private void button1_Click(object sender, EventArgs e) + { + if (decimal.TryParse(textBox1.Text, NumberStyles.Any, CultureInfo.InvariantCulture, out decimal currentValue)) + { + memoryStore += currentValue; + textBox1.Text = ""; + //ДОБАВЛЕНИЕ ЧИСЛА В ПАМЯТЬ + } + } + + + private void button2_Click_1(object sender, EventArgs e) + { + textBox1.Text = memoryStore.ToString(CultureInfo.InvariantCulture);// ВЫВОД ЧИСЛА ИЗ ПАМЯТИ , ЕСЛИ ПАМЯТЬ ОЧИЩЕНА ВЫВОДИТ 0 + } + + private void button3_Click(object sender, EventArgs e) + { + textBox1.Text += "("; + } + + private void button4_Click(object sender, EventArgs e) + { + textBox1.Text += ")"; + } + + private void button5_Click(object sender, EventArgs e) + { + textBox1.Text = ""; + textBox2.Text = ""; + textBox1.Focus(); + } + + + private void button6_Click(object sender, EventArgs e) + { + memoryStore = 0; //ОЧИСТКА ПАМЯТИ ПОЛНОСТЬЮ + } + + + private void button7_Click(object sender, EventArgs e) + { + if (textBox1.Text.Length > 0) + { + string text = textBox1.Text; + textBox1.Text = text.Remove(text.Length - 1, 1); + } + } + + private void textBox2_TextChanged(object sender, EventArgs e) + { + + } + + private void button9_Click(object sender, EventArgs e) + { + textBox1.Text += "1"; + } + + private void button10_Click(object sender, EventArgs e) + { + textBox1.Text += "2"; + } + + private void button11_Click(object sender, EventArgs e) + { + textBox1.Text += "3"; + } + + private void button13_Click(object sender, EventArgs e) + { + textBox1.Text += "4"; + } + + private void button14_Click(object sender, EventArgs e) + { + textBox1.Text += "5"; + } + + private void button15_Click(object sender, EventArgs e) + { + textBox1.Text += "6"; + } + + private void button17_Click(object sender, EventArgs e) + { + textBox1.Text += "7"; + } + + private void button18_Click(object sender, EventArgs e) + { + textBox1.Text += "8"; + } + + private void button19_Click_1(object sender, EventArgs e) + { + textBox1.Text += "9"; + } + + private void button24_Click(object sender, EventArgs e) + { + textBox1.Text += "0"; + } + + private void button23_Click(object sender, EventArgs e) + { + textBox1.Text = CalcClass.ToggleSign(textBox1.Text); + } + + private void button22_Click(object sender, EventArgs e) + { + textBox1.Text += "%"; + } + + private void button8_Click(object sender, EventArgs e) + { + textBox1.Text += "/"; + } + + private void button12_Click(object sender, EventArgs e) + { + textBox1.Text += "*"; + } + + private void button16_Click(object sender, EventArgs e) + { + textBox1.Text += "-"; + } + + private void button20_Click(object sender, EventArgs e) + { + textBox1.Text += "+"; + } + + private void button21_Click(object sender, EventArgs e) + { + string expression = textBox1.Text; + try + { + object result = CalcClass.EvaluateExpression(expression); + textBox2.Text = Convert.ToString(result); + } + catch (Exception ex) + { + textBox2.Text = "Error"; + MessageBox.Show("Invalid expression: " + ex.Message, "будет реализовано позже", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void label2_Click(object sender, EventArgs e) + { + + } + + private void button27_Click(object sender, EventArgs e) + { + textBox1.Text += "sin("; + } + + private void button26_Click(object sender, EventArgs e) + { + textBox1.Text += "cos("; + } + + private void button25_Click(object sender, EventArgs e) + { + textBox1.Text += "square("; + } + + private void button28_Click(object sender, EventArgs e) + { + textBox1.Text += "cube("; + } + + private void button29_Click(object sender, EventArgs e) + { + textBox1.Text += "."; + } + + private void Form1_Load(object sender, EventArgs e) + { + + } + } + + public class CalcClass + { + public static object EvaluateExpression(string expression) + { + //square(), cube(), sin(), cos() + expression = Regex.Replace(expression, @"(sin|cos|square|cube)\(([^)]+)\)", match => { + string functionName = match.Groups[1].Value; + string argumentStr = match.Groups[2].Value; + + object argumentValObj = EvaluateExpression(argumentStr); + double argumentVal = Convert.ToDouble(argumentValObj); + + double result = 0; + + switch (functionName) + { + case "sin": + result = Math.Sin(argumentVal); + break; + case "cos": + result = Math.Cos(argumentVal); + break; + case "square": + result = argumentVal * argumentVal; + break; + case "cube": + result = argumentVal * argumentVal * argumentVal; + break; + } + + return result.ToString(CultureInfo.InvariantCulture); + }); + + //для базовых операций (+, -, *, /, %) + DataTable dt = new DataTable(); + dt.Locale = CultureInfo.InvariantCulture; + + return dt.Compute(expression, null); + } + + public static long Mod(long a, long b) + { + return a % b; + } + + public static string ToggleSign(string currentValue) + { + if (string.IsNullOrEmpty(currentValue)) + { + return "0"; + } + + if (double.TryParse(currentValue, NumberStyles.Any, CultureInfo.InvariantCulture, out double number)) + { + return (-number).ToString(CultureInfo.InvariantCulture); + } + + return currentValue; + } + } +} diff --git a/Form1.resx b/Form1.resx new file mode 100644 index 0000000..02099b7 --- /dev/null +++ b/Form1.resx @@ -0,0 +1,428 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + 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 + + + \ No newline at end of file diff --git a/calculator/.vs/calculator/FileContentIndex/8d86e809-8587-45f8-be79-4f504f80ca38.vsidx b/calculator/.vs/calculator/FileContentIndex/8d86e809-8587-45f8-be79-4f504f80ca38.vsidx new file mode 100644 index 0000000..59e0e54 Binary files /dev/null and b/calculator/.vs/calculator/FileContentIndex/8d86e809-8587-45f8-be79-4f504f80ca38.vsidx differ diff --git a/calculator/.vs/calculator/v17/.suo b/calculator/.vs/calculator/v17/.suo new file mode 100644 index 0000000..fcfbf1d Binary files /dev/null and b/calculator/.vs/calculator/v17/.suo differ diff --git a/calculator/calculator.sln b/calculator/calculator.sln new file mode 100644 index 0000000..194e4ec --- /dev/null +++ b/calculator/calculator.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34511.84 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "calculator", "calculator\calculator.csproj", "{AE0E32D3-F62C-4DB6-9792-33CFEB5E995A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AE0E32D3-F62C-4DB6-9792-33CFEB5E995A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AE0E32D3-F62C-4DB6-9792-33CFEB5E995A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE0E32D3-F62C-4DB6-9792-33CFEB5E995A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AE0E32D3-F62C-4DB6-9792-33CFEB5E995A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BBC7C084-6F94-4D12-AC2D-DE4705D4692A} + EndGlobalSection +EndGlobal diff --git a/calculator/calculator/App.config b/calculator/calculator/App.config new file mode 100644 index 0000000..193aecc --- /dev/null +++ b/calculator/calculator/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/calculator/calculator/Form1.Designer.cs b/calculator/calculator/Form1.Designer.cs new file mode 100644 index 0000000..4883114 --- /dev/null +++ b/calculator/calculator/Form1.Designer.cs @@ -0,0 +1,363 @@ +namespace calculator +{ + partial class Form1 + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = 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.button7 = new System.Windows.Forms.Button(); + this.button8 = new System.Windows.Forms.Button(); + this.button9 = new System.Windows.Forms.Button(); + this.button10 = new System.Windows.Forms.Button(); + this.button11 = new System.Windows.Forms.Button(); + this.button12 = new System.Windows.Forms.Button(); + this.button13 = new System.Windows.Forms.Button(); + this.button14 = new System.Windows.Forms.Button(); + this.button15 = new System.Windows.Forms.Button(); + this.button16 = new System.Windows.Forms.Button(); + this.button17 = new System.Windows.Forms.Button(); + this.button18 = new System.Windows.Forms.Button(); + this.button19 = new System.Windows.Forms.Button(); + this.button20 = new System.Windows.Forms.Button(); + this.button21 = new System.Windows.Forms.Button(); + this.button22 = new System.Windows.Forms.Button(); + this.button23 = new System.Windows.Forms.Button(); + this.button24 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(84, 21); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(72, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Калькулятор"; + this.label1.Click += new System.EventHandler(this.label1_Click); + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(12, 60); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(218, 20); + this.textBox1.TabIndex = 1; + this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(12, 99); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(50, 37); + this.button1.TabIndex = 2; + this.button1.Text = "%"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button2 + // + this.button2.Location = new System.Drawing.Point(68, 99); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(50, 37); + this.button2.TabIndex = 3; + this.button2.Text = "^"; + this.button2.UseVisualStyleBackColor = true; + // + // button3 + // + this.button3.Location = new System.Drawing.Point(124, 99); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(50, 37); + this.button3.TabIndex = 4; + this.button3.Text = "("; + this.button3.UseVisualStyleBackColor = true; + // + // button4 + // + this.button4.Location = new System.Drawing.Point(180, 99); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(50, 37); + this.button4.TabIndex = 5; + this.button4.Text = ")"; + this.button4.UseVisualStyleBackColor = true; + // + // button5 + // + this.button5.Location = new System.Drawing.Point(12, 142); + this.button5.Name = "button5"; + this.button5.Size = new System.Drawing.Size(50, 37); + this.button5.TabIndex = 6; + this.button5.Text = "C"; + this.button5.UseVisualStyleBackColor = true; + // + // button6 + // + this.button6.Location = new System.Drawing.Point(68, 142); + this.button6.Name = "button6"; + this.button6.Size = new System.Drawing.Size(50, 37); + this.button6.TabIndex = 7; + this.button6.Text = "CE"; + this.button6.UseVisualStyleBackColor = true; + // + // button7 + // + this.button7.Location = new System.Drawing.Point(124, 142); + this.button7.Name = "button7"; + this.button7.Size = new System.Drawing.Size(50, 37); + this.button7.TabIndex = 8; + this.button7.Text = "<-x"; + this.button7.UseVisualStyleBackColor = true; + // + // button8 + // + this.button8.Location = new System.Drawing.Point(180, 142); + this.button8.Name = "button8"; + this.button8.Size = new System.Drawing.Size(50, 37); + this.button8.TabIndex = 9; + this.button8.Text = "/"; + this.button8.UseVisualStyleBackColor = true; + // + // button9 + // + this.button9.Location = new System.Drawing.Point(12, 185); + this.button9.Name = "button9"; + this.button9.Size = new System.Drawing.Size(50, 37); + this.button9.TabIndex = 10; + this.button9.Text = "1"; + this.button9.UseVisualStyleBackColor = true; + // + // button10 + // + this.button10.Location = new System.Drawing.Point(68, 185); + this.button10.Name = "button10"; + this.button10.Size = new System.Drawing.Size(50, 37); + this.button10.TabIndex = 11; + this.button10.Text = "2"; + this.button10.UseVisualStyleBackColor = true; + // + // button11 + // + this.button11.Location = new System.Drawing.Point(124, 185); + this.button11.Name = "button11"; + this.button11.Size = new System.Drawing.Size(50, 37); + this.button11.TabIndex = 12; + this.button11.Text = "3"; + this.button11.UseVisualStyleBackColor = true; + // + // button12 + // + this.button12.Location = new System.Drawing.Point(180, 185); + this.button12.Name = "button12"; + this.button12.Size = new System.Drawing.Size(50, 37); + this.button12.TabIndex = 13; + this.button12.Text = "*"; + this.button12.UseVisualStyleBackColor = true; + // + // button13 + // + this.button13.Location = new System.Drawing.Point(12, 228); + this.button13.Name = "button13"; + this.button13.Size = new System.Drawing.Size(50, 37); + this.button13.TabIndex = 14; + this.button13.Text = "4"; + this.button13.UseVisualStyleBackColor = true; + // + // button14 + // + this.button14.Location = new System.Drawing.Point(68, 228); + this.button14.Name = "button14"; + this.button14.Size = new System.Drawing.Size(50, 37); + this.button14.TabIndex = 15; + this.button14.Text = "5"; + this.button14.UseVisualStyleBackColor = true; + // + // button15 + // + this.button15.Location = new System.Drawing.Point(124, 228); + this.button15.Name = "button15"; + this.button15.Size = new System.Drawing.Size(50, 37); + this.button15.TabIndex = 16; + this.button15.Text = "6"; + this.button15.UseVisualStyleBackColor = true; + // + // button16 + // + this.button16.Location = new System.Drawing.Point(180, 228); + this.button16.Name = "button16"; + this.button16.Size = new System.Drawing.Size(50, 37); + this.button16.TabIndex = 17; + this.button16.Text = "-"; + this.button16.UseVisualStyleBackColor = true; + // + // button17 + // + this.button17.Location = new System.Drawing.Point(12, 271); + this.button17.Name = "button17"; + this.button17.Size = new System.Drawing.Size(50, 37); + this.button17.TabIndex = 18; + this.button17.Text = "7"; + this.button17.UseVisualStyleBackColor = true; + // + // button18 + // + this.button18.Location = new System.Drawing.Point(68, 271); + this.button18.Name = "button18"; + this.button18.Size = new System.Drawing.Size(50, 37); + this.button18.TabIndex = 19; + this.button18.Text = "8"; + this.button18.UseVisualStyleBackColor = true; + // + // button19 + // + this.button19.Location = new System.Drawing.Point(124, 271); + this.button19.Name = "button19"; + this.button19.Size = new System.Drawing.Size(50, 37); + this.button19.TabIndex = 20; + this.button19.Text = "9"; + this.button19.UseVisualStyleBackColor = true; + this.button19.Click += new System.EventHandler(this.button19_Click); + // + // button20 + // + this.button20.Location = new System.Drawing.Point(180, 271); + this.button20.Name = "button20"; + this.button20.Size = new System.Drawing.Size(50, 37); + this.button20.TabIndex = 21; + this.button20.Text = "+"; + this.button20.UseVisualStyleBackColor = true; + // + // button21 + // + this.button21.Location = new System.Drawing.Point(180, 314); + this.button21.Name = "button21"; + this.button21.Size = new System.Drawing.Size(50, 37); + this.button21.TabIndex = 25; + this.button21.Text = "="; + this.button21.UseVisualStyleBackColor = true; + // + // button22 + // + this.button22.Location = new System.Drawing.Point(124, 314); + this.button22.Name = "button22"; + this.button22.Size = new System.Drawing.Size(50, 37); + this.button22.TabIndex = 24; + this.button22.Text = "."; + this.button22.UseVisualStyleBackColor = true; + // + // button23 + // + this.button23.Location = new System.Drawing.Point(68, 314); + this.button23.Name = "button23"; + this.button23.Size = new System.Drawing.Size(50, 37); + this.button23.TabIndex = 23; + this.button23.Text = "00 "; + this.button23.UseVisualStyleBackColor = true; + // + // button24 + // + this.button24.Location = new System.Drawing.Point(12, 314); + this.button24.Name = "button24"; + this.button24.Size = new System.Drawing.Size(50, 37); + this.button24.TabIndex = 22; + this.button24.Text = "0"; + this.button24.UseVisualStyleBackColor = true; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(248, 389); + this.Controls.Add(this.button21); + this.Controls.Add(this.button22); + this.Controls.Add(this.button23); + this.Controls.Add(this.button24); + this.Controls.Add(this.button20); + this.Controls.Add(this.button19); + this.Controls.Add(this.button18); + this.Controls.Add(this.button17); + this.Controls.Add(this.button16); + this.Controls.Add(this.button15); + this.Controls.Add(this.button14); + this.Controls.Add(this.button13); + this.Controls.Add(this.button12); + this.Controls.Add(this.button11); + this.Controls.Add(this.button10); + this.Controls.Add(this.button9); + this.Controls.Add(this.button8); + this.Controls.Add(this.button7); + this.Controls.Add(this.button6); + this.Controls.Add(this.button5); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.label1); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button button5; + private System.Windows.Forms.Button button6; + private System.Windows.Forms.Button button7; + private System.Windows.Forms.Button button8; + private System.Windows.Forms.Button button9; + private System.Windows.Forms.Button button10; + private System.Windows.Forms.Button button11; + private System.Windows.Forms.Button button12; + private System.Windows.Forms.Button button13; + private System.Windows.Forms.Button button14; + private System.Windows.Forms.Button button15; + private System.Windows.Forms.Button button16; + private System.Windows.Forms.Button button17; + private System.Windows.Forms.Button button18; + private System.Windows.Forms.Button button19; + private System.Windows.Forms.Button button20; + private System.Windows.Forms.Button button21; + private System.Windows.Forms.Button button22; + private System.Windows.Forms.Button button23; + private System.Windows.Forms.Button button24; + } +} + diff --git a/calculator/calculator/Form1.cs b/calculator/calculator/Form1.cs new file mode 100644 index 0000000..190e051 --- /dev/null +++ b/calculator/calculator/Form1.cs @@ -0,0 +1,45 @@ +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 calculator +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void label1_Click(object sender, EventArgs e) + { + + } + + private void textBox1_TextChanged(object sender, EventArgs e) + { + + } + + private void button19_Click(object sender, EventArgs e) + { + textBox1.Text += "9"; + } + + private void button1_Click(object sender, EventArgs e) + { + textBox1.Text += "%"; + } + private void button2_Click(object sender, EventArgs e) + { + textBox1.Text += "^"; + } + + } +} diff --git a/calculator/calculator/Form1.resx b/calculator/calculator/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/calculator/calculator/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/calculator/calculator/Program.cs b/calculator/calculator/Program.cs new file mode 100644 index 0000000..5377607 --- /dev/null +++ b/calculator/calculator/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace calculator +{ + internal static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/calculator/calculator/Properties/AssemblyInfo.cs b/calculator/calculator/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..0b250f4 --- /dev/null +++ b/calculator/calculator/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанных со сборкой. +[assembly: AssemblyTitle("calculator")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("calculator")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, следует установить атрибут ComVisible в TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("ae0e32d3-f62c-4db6-9792-33cfeb5e995a")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/calculator/calculator/Properties/Resources.Designer.cs b/calculator/calculator/Properties/Resources.Designer.cs new file mode 100644 index 0000000..4d077e9 --- /dev/null +++ b/calculator/calculator/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программным средством. +// Версия среды выполнения: 4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если +// код создан повторно. +// +//------------------------------------------------------------------------------ + +namespace calculator.Properties +{ + + + /// + /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. + /// + // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder + // класс с помощью таких средств, как ResGen или Visual Studio. + // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen + // с параметром /str или заново постройте свой VS-проект. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("calculator.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Переопределяет свойство CurrentUICulture текущего потока для всех + /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/calculator/calculator/Properties/Resources.resx b/calculator/calculator/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/calculator/calculator/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/calculator/calculator/Properties/Settings.Designer.cs b/calculator/calculator/Properties/Settings.Designer.cs new file mode 100644 index 0000000..3a849d6 --- /dev/null +++ b/calculator/calculator/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace calculator.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/calculator/calculator/Properties/Settings.settings b/calculator/calculator/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/calculator/calculator/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/calculator/calculator/bin/Debug/5968350.ico b/calculator/calculator/bin/Debug/5968350.ico new file mode 100644 index 0000000..a29196d Binary files /dev/null and b/calculator/calculator/bin/Debug/5968350.ico differ diff --git a/calculator/calculator/bin/Debug/calculator.exe b/calculator/calculator/bin/Debug/calculator.exe new file mode 100644 index 0000000..942ecd1 Binary files /dev/null and b/calculator/calculator/bin/Debug/calculator.exe differ diff --git a/calculator/calculator/bin/Debug/calculator.exe.config b/calculator/calculator/bin/Debug/calculator.exe.config new file mode 100644 index 0000000..193aecc --- /dev/null +++ b/calculator/calculator/bin/Debug/calculator.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/calculator/calculator/bin/Debug/calculator.pdb b/calculator/calculator/bin/Debug/calculator.pdb new file mode 100644 index 0000000..3e6a415 Binary files /dev/null and b/calculator/calculator/bin/Debug/calculator.pdb differ diff --git a/calculator/calculator/bin/Debug/png-clipart-c-programming-language-logo-microsoft-visual-studio-net-framework-javascript-icon-purple.ico b/calculator/calculator/bin/Debug/png-clipart-c-programming-language-logo-microsoft-visual-studio-net-framework-javascript-icon-purple.ico new file mode 100644 index 0000000..db195ee Binary files /dev/null and b/calculator/calculator/bin/Debug/png-clipart-c-programming-language-logo-microsoft-visual-studio-net-framework-javascript-icon-purple.ico differ diff --git a/calculator/calculator/bin/Debug/Спецификация.doc b/calculator/calculator/bin/Debug/Спецификация.doc new file mode 100644 index 0000000..9c04666 Binary files /dev/null and b/calculator/calculator/bin/Debug/Спецификация.doc differ diff --git a/calculator/calculator/calculator.csproj b/calculator/calculator/calculator.csproj new file mode 100644 index 0000000..736df58 --- /dev/null +++ b/calculator/calculator/calculator.csproj @@ -0,0 +1,86 @@ + + + + + Debug + AnyCPU + {AE0E32D3-F62C-4DB6-9792-33CFEB5E995A} + WinExe + calculator + calculator + v4.8 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form1.cs + Form + + + Form1.cs + Form1.Designer.cs + + + + + Form1.cs + Form1.resx + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/calculator/calculator/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs b/calculator/calculator/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs new file mode 100644 index 0000000..15efebf --- /dev/null +++ b/calculator/calculator/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] diff --git a/calculator/calculator/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/calculator/calculator/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..5d25611 Binary files /dev/null and b/calculator/calculator/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/calculator/calculator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/calculator/calculator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..1e88cc7 Binary files /dev/null and b/calculator/calculator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/calculator/calculator/obj/Debug/calculator.Form1.resources b/calculator/calculator/obj/Debug/calculator.Form1.resources new file mode 100644 index 0000000..2f68c98 Binary files /dev/null and b/calculator/calculator/obj/Debug/calculator.Form1.resources differ diff --git a/calculator/calculator/obj/Debug/calculator.Properties.Resources.resources b/calculator/calculator/obj/Debug/calculator.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/calculator/calculator/obj/Debug/calculator.Properties.Resources.resources differ diff --git a/calculator/calculator/obj/Debug/calculator.csproj.AssemblyReference.cache b/calculator/calculator/obj/Debug/calculator.csproj.AssemblyReference.cache new file mode 100644 index 0000000..43b09ba Binary files /dev/null and b/calculator/calculator/obj/Debug/calculator.csproj.AssemblyReference.cache differ diff --git a/calculator/calculator/obj/Debug/calculator.csproj.CoreCompileInputs.cache b/calculator/calculator/obj/Debug/calculator.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..997860e --- /dev/null +++ b/calculator/calculator/obj/Debug/calculator.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +0677eb292676b0d9e744478dd1f5d79da3b415878a6aead887592c308f35ac0e diff --git a/calculator/calculator/obj/Debug/calculator.csproj.FileListAbsolute.txt b/calculator/calculator/obj/Debug/calculator.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..920294a --- /dev/null +++ b/calculator/calculator/obj/Debug/calculator.csproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\bin\Debug\calculator.exe.config +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\bin\Debug\calculator.exe +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\bin\Debug\calculator.pdb +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\obj\Debug\calculator.csproj.AssemblyReference.cache +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\obj\Debug\calculator.Form1.resources +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\obj\Debug\calculator.Properties.Resources.resources +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\obj\Debug\calculator.csproj.GenerateResource.cache +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\obj\Debug\calculator.csproj.CoreCompileInputs.cache +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\obj\Debug\calculator.exe +C:\Users\Student\Documents\Новая папка (2)\calculator\calculator\obj\Debug\calculator.pdb +C:\Users\Student\Documents\new\calculator\calculator\bin\Debug\calculator.exe.config +C:\Users\Student\Documents\new\calculator\calculator\bin\Debug\calculator.exe +C:\Users\Student\Documents\new\calculator\calculator\bin\Debug\calculator.pdb +C:\Users\Student\Documents\new\calculator\calculator\obj\Debug\calculator.csproj.AssemblyReference.cache +C:\Users\Student\Documents\new\calculator\calculator\obj\Debug\calculator.Form1.resources +C:\Users\Student\Documents\new\calculator\calculator\obj\Debug\calculator.Properties.Resources.resources +C:\Users\Student\Documents\new\calculator\calculator\obj\Debug\calculator.csproj.GenerateResource.cache +C:\Users\Student\Documents\new\calculator\calculator\obj\Debug\calculator.csproj.CoreCompileInputs.cache +C:\Users\Student\Documents\new\calculator\calculator\obj\Debug\calculator.exe +C:\Users\Student\Documents\new\calculator\calculator\obj\Debug\calculator.pdb diff --git a/calculator/calculator/obj/Debug/calculator.csproj.GenerateResource.cache b/calculator/calculator/obj/Debug/calculator.csproj.GenerateResource.cache new file mode 100644 index 0000000..4eb5071 Binary files /dev/null and b/calculator/calculator/obj/Debug/calculator.csproj.GenerateResource.cache differ diff --git a/calculator/calculator/obj/Debug/calculator.exe b/calculator/calculator/obj/Debug/calculator.exe new file mode 100644 index 0000000..942ecd1 Binary files /dev/null and b/calculator/calculator/obj/Debug/calculator.exe differ diff --git a/calculator/calculator/obj/Debug/calculator.pdb b/calculator/calculator/obj/Debug/calculator.pdb new file mode 100644 index 0000000..3e6a415 Binary files /dev/null and b/calculator/calculator/obj/Debug/calculator.pdb differ diff --git a/calculator/calculator/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs b/calculator/calculator/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs new file mode 100644 index 0000000..15efebf --- /dev/null +++ b/calculator/calculator/obj/Release/.NETFramework,Version=v4.8.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] diff --git a/calculator/calculator/obj/Release/calculator.csproj.AssemblyReference.cache b/calculator/calculator/obj/Release/calculator.csproj.AssemblyReference.cache new file mode 100644 index 0000000..43b09ba Binary files /dev/null and b/calculator/calculator/obj/Release/calculator.csproj.AssemblyReference.cache differ diff --git a/png-clipart-c-programming-language-logo-microsoft-visual-studio-net-framework-javascript-icon-purple-logo-thumbnail.png b/png-clipart-c-programming-language-logo-microsoft-visual-studio-net-framework-javascript-icon-purple-logo-thumbnail.png new file mode 100644 index 0000000..1aaf794 Binary files /dev/null and b/png-clipart-c-programming-language-logo-microsoft-visual-studio-net-framework-javascript-icon-purple-logo-thumbnail.png differ diff --git a/Спецификация.doc b/Спецификация.doc new file mode 100644 index 0000000..9c04666 Binary files /dev/null and b/Спецификация.doc differ