• Название:

    KONDRATCalc MAIN

  • Размер: 0.03 Мб
  • Формат: DOCX
  • или


Public Class Калькуляторъ

'Эта небольшая программа представляет собой рабочий калькулятор.

'Кроме основных четырёх действий он умеет:

'1. возводить число в указанную степень

'2. извлекать квадратный корень из числа

'3. а также в еём можно запомнить три разных значения в переменные памяти (их 3)

'

'Для правильной работы сего кода нужно:

'Форма windows forms с именем "Калькуляторъ"; кнопки "Button1" — "Button31" (1-10 —цифровые, 11 — "." 12-15 — четыре основных действия, 16 — "равно", 17 — обнуление("С"), 18 — "√", 19 — возведение числа в указанную степень,

'20 — возведение числа в квадрат, 21 — возведение числа в куб, 22 — смена знака (±), 23 — "выход", 24 — "поржать", 25-27 — "-->M", 28 — "M1-->", 29 — "M2-->", 30 — "M3-->", 31 — стереть всё (с обнулением переменных памяти));

'Также надо создать Textbox 1-5 (причём первый — числовой индикатор и в свойстве "Text" надо написать "0", у остальных — "―//―"), также в свойстве "Read Only" надо поставить "True"

'Ну, вот собственно и всё... А! Ещё для корректной работы нужен код "KONDRATCalc_У вас есть подключение к интернету" и "KONDRATCalc_Поржать"(или подправить возникнувшие в связи с отсутствием всего этого ошибки xD).

Dim a As Double

'Первая переменная

Dim b As Double

'Вторая переменная

Dim это_надо As Double

Dim нажато As Boolean = False

'Нажали ли "равно"

Dim c As Integer

'Действия

Dim d As Double

'Степень числа

Dim sign As Boolean = False

'Наличие/отсутствие знака "-" перед числом (по умолчанию "false", отсутствие)

Dim Point As Double

'Результат перед нажатием на точку

'Расписываем решение. Собсно переменные:

Dim считано As Boolean = False

'Считывать, али нет? (есть ли галочка в чекбоксе)

'Dim first As Double

'числитель (или первое слагаемое/множитель, или уменьшаемое)

'Dim second As Double

'знаменатель (или второе слагаемое/множитель, или вычитаемое)

'Dim third As Double

'Результат

'Память (Memory)

Dim M1 As Double

Dim M2 As Double

Dim M3 As Double

Sub Кнопка(ByVal n As String)

TextBox1.Focus()

If c = 5 Then

'Если нажмакана кнопка возведения в степень, то:

If TextBox1.Text = "0" Then

TextBox1.Text = ""

TextBox1.Text &= n

b = StrConv(TextBox1.Text, 0, 0)

d = StrConv(TextBox1.Text, 0, 0)

TextBox2.Text = d

If TextBox3.Text <> "―//―" Then

TextBox3.Text = M1

End If

If TextBox4.Text <> "―//―" Then

TextBox4.Text = M2

End If

If TextBox5.Text <> "―//―" Then

TextBox5.Text = M3

End If

Else

TextBox1.Text &= n

b = StrConv(TextBox1.Text, 0, 0)

d = StrConv(TextBox1.Text, 0, 0)

TextBox2.Text = d

If TextBox3.Text <> "―//―" Then

TextBox3.Text = M1

End If

If TextBox4.Text <> "―//―" Then

TextBox4.Text = M2

End If

If TextBox5.Text <> "―//―" Then

TextBox5.Text = M3

End If

End If

'А если нет, то:

Else

If TextBox1.Text = "0" Then

TextBox1.Text = ""

TextBox1.Text &= n

b = StrConv(TextBox1.Text, 0, 0)

If TextBox3.Text <> "―//―" Then

TextBox3.Text = M1

End If

If TextBox4.Text <> "―//―" Then

TextBox4.Text = M2

End If

If TextBox5.Text <> "―//―" Then

TextBox5.Text = M3

End If

Else

TextBox1.Text &= n

b = StrConv(TextBox1.Text, 0, 0)

If TextBox3.Text <> "―//―" Then

TextBox3.Text = M1

End If

If TextBox4.Text <> "―//―" Then

TextBox4.Text = M2

End If

If TextBox5.Text <> "―//―" Then

TextBox5.Text = M3

End If

End If

End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Кнопка("1")

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Кнопка("2")

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Кнопка("3")

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

Кнопка("4")

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

Кнопка("5")

End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

Кнопка("6")

End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click

Кнопка("7")

End Sub

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click

Кнопка("8")

End Sub

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click

Кнопка("9")

End Sub

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click

Кнопка("0")

End Sub

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click

TextBox1.Focus()

Point = TextBox1.Text

Try

TextBox1.Text &= ","

b = StrConv(TextBox1.Text, 0, 0)

Point = TextBox1.Text

Catch ex As Exception

MsgBox("Не стоит так делать")

TextBox1.Text = Point

End Try

'Точка

End Sub

Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click

TextBox1.Focus()

Select Case нажато

Case Is = False

c = 1

a = b

TextBox1.Text = ""

Case Is = True

c = 1

a = это_надо

TextBox1.Text = ""

End Select

'Кнопка сложения

End Sub

Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click

TextBox1.Focus()

Select Case нажато

Case Is = False

c = 1

a = b

TextBox1.Text = ""

Case Is = True

c = 1

a = это_надо

TextBox1.Text = ""

End Select

'Кнопка вычитания

End Sub

Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click

TextBox1.Focus()

Select Case нажато

Case Is = False

c = 1

a = b

TextBox1.Text = ""

Case Is = True

c = 1

a = это_надо

TextBox1.Text = ""

End Select

'Кнопка умножения

End Sub

Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click

TextBox1.Focus()

Select Case нажато

Case Is = False

If TextBox1.Text = "" And TextBox1.Text = "0" Then

Else

c = 4

a = b

TextBox1.Text = ""

End If

Case Is = True

If TextBox1.Text = "" And TextBox1.Text = "0" Then

Else

c = 4

a = это_надо

TextBox1.Text = ""

End If

End Select

'Кнопка деления

End Sub

Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click

TextBox1.Focus()

нажато = True

Select Case c

Case Is = 1

a = a + b

это_надо = a

'Сложение

Case Is = 2

a = a - b

это_надо = a

'Вычитание

Case Is = 3

a = a * b

это_надо = a

'Умножение

Case Is = 4

If a <> 0 And b <> 0 Then

a = a / b

это_надо = a

'Деление

End If

Case Is = 5

a = Math.Pow(a, d)

'Возведение в степень

End Select

TextBox1.Text = a

End Sub

Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click

TextBox1.Focus()

a = 0

b = 0

'Обнулить обе переменные счёта

c = 0

'Обнулить переменную действия

d = 0

'Обнулить степень числа

нажато = False

TextBox1.Text = "0"

'Обнулить поле ввода чисел

TextBox2.Text = "―//―"

'Обнулить индикатор степени числа

'Обнулить (память не стирается)

End Sub

Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click

TextBox1.Focus()

If a < 0 Or sign = False Then

a = b

a = Math.Sqrt(a)

TextBox1.Text = a

Else

MsgBox("Слышь, квадратный корень нельзя извлечь из отрицательного числа.")

End If

'Извлечение квадратного корня

End Sub

Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click

TextBox1.Focus()

a = b

c = 5

TextBox1.Text = ""

'Возведение в указанную степень

End Sub

Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click

TextBox1.Focus()

a = b

d = 2

TextBox2.Text = d

a = Math.Pow(a, d)

TextBox1.Text = a

'Возведение в квадрат

End Sub

Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click

TextBox1.Focus()

a = b

d = 3

TextBox2.Text = d

a = Math.Pow(a, d)

TextBox1.Text = a

'Возведение в куб

End Sub

Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click

Dim n As Double

TextBox1.Focus()

sign = Not (sign)

Select Case sign

Case Is = False

TextBox1.Text = StrConv(TextBox1.Text, 0, 0)

n = StrConv(TextBox1.Text, 0, 0)

n = n * (-1)

TextBox1.Text = n

Case Is = True

TextBox1.Text = "-" & TextBox1.Text

End Select

b = TextBox1.Text

End Sub

Private Sub Button23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button23.Click

Me.Close()

End Sub

Private Sub TextBox1_Keyup(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown

Select Case e.KeyCode

Case Is = Keys.NumPad0

Кнопка("0")

Case Is = Keys.NumPad1

Кнопка("1")

Case Is = Keys.NumPad2

Кнопка("2")

Case Is = Keys.NumPad3

Кнопка("3")

Case Is = Keys.NumPad4

Кнопка("4")

Case Is = Keys.NumPad5

Кнопка("5")

Case Is = Keys.NumPad6

Кнопка("6")

Case Is = Keys.NumPad7

Кнопка("7")

Case Is = Keys.NumPad8

Кнопка("8")

Case Is = Keys.NumPad9

Кнопка("9")

Case Is = Keys.Decimal

Button11_Click(0, e)

Case Is = Keys.Add

Button12_Click(0, e)

Case Is = Keys.Subtract

Button13_Click(0, e)

Case Is = Keys.Multiply

Button14_Click(0, e)

Case Is = Keys.Divide

Button15_Click(0, e)

Case Is = Keys.Enter

Button16_Click(0, e)

Case Is = Keys.Delete

Button17_Click(0, e)

Case Is = Keys.D0

Кнопка("0")

Case Is = Keys.D1

Кнопка("1")

Case Is = Keys.D2

Кнопка("2")

Case Is = Keys.D3

Кнопка("3")

Case Is = Keys.D4

Кнопка("4")

Case Is = Keys.D5

Кнопка("5")

Case Is = Keys.D6

Кнопка("6")

Case Is = Keys.D7

Кнопка("7")

Case Is = Keys.D8

Кнопка("8")

Case Is = Keys.D9

Кнопка("9")

Case Is = Keys.Oemplus

Button12_Click(0, e)

Case Is = Keys.OemMinus

Button13_Click(0, e)

Case Is = Keys.X

Button14_Click(0, e)

Case Is = Keys.OemQuestion

Button15_Click(0, e)

Case Is = Keys.OemPeriod

Button11_Click(0, e)

Case Is = Keys.Insert

Button23_Click(0, e)

Case Is = Keys.Q

Me.Close()

КалькуляторPRO.TextBox1.Focus()

Case Is = Keys.Escape

Button31_Click(0, e)

Case Is = Keys.B

Button24_Click(0, e)

'Память:

Case Is = Keys.F2

Button25_Click(0, e)

Case Is = Keys.F3

Button26_Click(0, e)

Case Is = Keys.F4

Button27_Click(0, e)

Case Is = Keys.F5

Button28_Click(0, e)

Case Is = Keys.F6

Button29_Click(0, e)

Case Is = Keys.F7

Button30_Click(0, e)

End Select

End Sub

Private Sub Button24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click

TextBox1.Focus()

КалькуляторPRO.куда = 1

Form3.ShowDialog()

End Sub

Private Sub Button25_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button25.Click

TextBox1.Focus()

Try

TextBox3.Text = TextBox1.Text

M1 = TextBox1.Text

Catch ex As Exception

MsgBox("Заполните поле ввода чисел. Быть может вы ошиблись кнопкой.")

End Try

TextBox3.Text = TextBox1.Text

M1 = TextBox1.Text

'M1 Запомнить

End Sub

Private Sub Button26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button26.Click

TextBox1.Focus()

Try

TextBox4.Text = TextBox1.Text

M2 = TextBox1.Text

Catch ex As Exception

MsgBox("Заполните поле ввода чисел. Быть может вы ошиблись кнопкой.")

End Try

'M2 Запомнить

End Sub

Private Sub Button27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button27.Click

TextBox1.Focus()

Try

TextBox5.Text = TextBox1.Text

M3 = TextBox1.Text

Catch ex As Exception

MsgBox("Заполните поле ввода чисел. Быть может вы ошиблись кнопкой.")

End Try

'M3 Запомнить

End Sub

Private Sub Button28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button28.Click

TextBox1.Focus()

b = M1

TextBox1.Text = b

End Sub

Private Sub Button29_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button29.Click

TextBox1.Focus()

b = M2

TextBox1.Text = b

End Sub

Private Sub Button30_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button30.Click

TextBox1.Focus()

b = M3

TextBox1.Text = b

End Sub

Private Sub Button31_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button31.Click

TextBox1.Focus()

a = 0

b = 0

'Обнулить обе переменные счёта

c = 0

'Обнулить переменную действия

d = 0

'Обнулить степень числа

нажато = False

'Обнулить еременные памяти

M1 = 0

M2 = 0

M3 = 0

TextBox1.Text = "0"

'Обнулить поле ввода чисел

TextBox2.Text = "―//―"

'Обнулить индикатор степени числа

'Обнулить индикаторы содержащихся в памяти чисел

TextBox3.Text = "―//―"

TextBox4.Text = "―//―"

TextBox5.Text = "―//―"

' Стереть всё

End Sub

Private Sub Калькуляторъ_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Deactivate

КалькуляторPRO.numberъ = 0

End Sub

End Class