как сделать калькулятор в visual basic



Как создать калькулятор в visual basic

Автор Дмитрий я задал вопрос в разделе Другие языки и технологии

Как сделать калькулятор в Visual Basic??? и получил лучший ответ

Ответ от Иван Бехтерев[гуру]
Создание калькулятора на Visual Basic 6.0.
В данной статье я расскажу вам как сделать проект «Обычный калькулятор» . Основные математические действия будут производиться над целыми десятичными числами. Но нам будет необходимо преобразовать строковое значение с число. Это можно сделать с помощью функции Val, аргументом которой является строка, а значение - число: Val (Строка$).
Для создания графического интерфейса на форме размести пять кнопок с названиями сложение, вычитание, деление, умножение, выход; три текстовых поля (два для ввода и одно для вывода) .
Перед тем как начать основную работу можно убедиться, что калькулятор не будет складывать числа более 16 знаков. Для этого необходимо в процедуре Text1_Change и Text2_Change ввести такой код:
Private Sub Text1_Change () ‘Происходит при изменении текстового поля
If Len (Text1.Text)>16 Then MsgBox “Много знаков” ‘Если Text1>16, то выводим сообщение
End Sub
Private Sub Text2_Change ()
If Len (Text2.Text)>16 Then MsgBox “Много знаков”
End Sub
Теперь напишем код для сложения, вычитания и умножения:
Private Sub Command1_Click () ‘Сложение
Text3.Text=Val (Text1.Text) + Val (Text2.Text)
End Sub
Private Sub Command2_Click () ‘Вычитание
Text3.Text=Val (Text1.Text) – Val (Text2.Text)
End Sub
Private Sub Command3_Click () ‘Умножение
Text3.Text=Val (Text1.Text) * Val (Text2.Text)
End Sub
С кодом для деления придётся немного пораздумать. Когда во втором текстовом поле будет ноль или там не будет текста, то будут выскакивать ошибка. Для её предотвращения придётся создать условие:
Private Sub Command4_Click () ‘Деление
If Text2.Text =”” Then MsgBox “Деление на ноль”
If Text2.Text = 0 Then MsgBox “Деление на ноль”
If Text2.Text<>”” Then Text3.Text=Val(Text1.Text)/Val(Text2.Text)
If Text2.Text<>0 Then Text3.Text=Val(Text1.Text)/Val(Text2.Text)
End Sub
Осталось написать процедуру для кнопки «Выход» :
Private Sub Command5_Click () ‘Выход
End
End Sub
Для создания других операций с числами можно воспользоваться обозначениями функций:
Sqr (число) – служит для извлечения квадратного корня
Например: Sqr (16) = 4
Основание ^ степень – возведение числа в степень
Например: 6 ^ 2 = 36
Sin (число) – синус числа
Например: Sin (60) = -0, 304810621102217
Cos (число) – косинус числа
Например: Cos (60) = -0, 952412980415156
Tan (число) –тангенс числа
Например: Tan (60) = 0,320040389379563

Ответ от C.S.[новичек]
Dim op As String
Dim num1 As Integer
Dim num2 As Integer
Private Sub Command1_Click()
Text1.Text = ""
End Sub
Private Sub Command10_Click()
Text1.Text = Text1.Text + "9"
End Sub
Private Sub Command11_Click(Index As Integer)
Text1.Text = Text1.Text + "0"
End Sub
Private Sub Command12_Click(Index As Integer)
num1 = Text1.Text
Text1.Text = ""
op = "+"
End Sub
Private Sub Command13_Click(Index As Integer)
num1 = Text1.Text
Text1.Text = ""
op = "-"
End Sub
Private Sub Command14_Click(Index As Integer)
num1 = Text1.Text
Text1.Text = ""
op = "/"
End Sub
Private Sub Command15_Click(Index As Integer)
num1 = Text1.Text
Text1.Text = ""
op = "*"
End Sub
Private Sub Command16_Click(Index As Integer)
num2 = Text1.Text
If op = "+" Then
Text1.Text = num1 + num2
ElseIf op = "-" Then
Text1.Text = num1 - num2
ElseIf op = "*" Then
Text1.Text = num1 * num2
ElseIf op = "/" Then
Text1.Text = num1 / num2
End If
End Sub
Private Sub Command17_Click()
End
End Sub
Private Sub Command2_Click()
Text1.Text = Text1.Text + "1"
End Sub
Private Sub Command3_Click()
Text1.Text = Text1.Text + "2"
End Sub
Private Sub Command4_Click()
Text1.Text = Text1.Text + "3"
End Sub
Private Sub Command5_Click()
Text1.Text = Text1.Text + "4"
End Sub
Private Sub Command6_Click()
Text1.Text = Text1.Text + "5"
End Sub
Private Sub Command7_Click()
Text1.Text = Text1.Text + "6"
End Sub
Private Sub Command8_Click()
Text1.Text = Text1.Text + "7"
End Sub
Private Sub Command9_Click()
Text1.Text = Text1.Text + "8"
End Sub

Ответ от Денис Егоров[новичек]
Предлагаю более компактный вариант на Visual Basic 2015 (форма, кнопки b0...b9,zap -имя кнопок запятая, plus-имя кнопки плюс, del-имя кнопки делить, richtextbox1-окно ввода)
Public Class Калькулятор
Dim k As Double : Dim d As Integer
Private Sub обработчик (sender As Object, e As EventArgs) Handles b0.Click, b1.Click, b2.Click, b3.Click, b4.Click, b5.Click, b6.Click, b7.Click, b8.Click, b9.Click, plus.Click, zap.Click, clear.Click
Dim b As Button = sender 'получить событие нажатой кнопки
If RichTextBox1.Text = "0" Then
RichTextBox1.Text = b.Text
Else
If RichTextBox1.Text = "," And RichTextBox1.Text = "" Then GoTo m1
RichTextBox1.Text = RichTextBox1.Text + b.Text
If RichTextBox1.Text = "" Then GoTo m1 'выход если нет числа
If b.Text = "+" Then d = 1 : k = RichTextBox1.Text : RichTextBox1.Text = "" 'сложение
If b.Text = "C" Then k = 0 : RichTextBox1.Text = "" 'сброс
End If
m1: End Sub
Private Sub Вычитание (sender As Object, e As EventArgs) Handles minus.Click
If RichTextBox1.Text = "" Then GoTo m1
d = 2 : k = RichTextBox1.Text : RichTextBox1.Text = "" 'вычитание
m1: End Sub
Private Sub Умножение (sender As Object, e As EventArgs) Handles ymn.Click
If RichTextBox1.Text = "" Then GoTo m1
d = 3 : k = RichTextBox1.Text : RichTextBox1.Text = "" 'умножение
m1: End Sub
Private Sub Деление (sender As Object, e As EventArgs) Handles del.Click
If RichTextBox1.Text = "" Then GoTo m1
d = 4 : k = RichTextBox1.Text : RichTextBox1.Text = "" 'деление
m1: End Sub
Private Sub Ответ (sender As Object, e As EventArgs) Handles Равно. Click
If RichTextBox1.Text = "" Then GoTo m1 'выход если нет числа
Select Case d
Case Is = 1 : RichTextBox1.Text = k + RichTextBox1.Text 'Сложение
Case Is = 2 : RichTextBox1.Text = k - RichTextBox1.Text 'вычитание
Case Is = 3 : RichTextBox1.Text = k * RichTextBox1.Text 'умножение
Case Is = 4 : If RichTextBox1.Text <> "" And RichTextBox1.Text <> "0" Then RichTextBox1.Text = k / RichTextBox1.Text 'деление
End Select
m1: End Sub
End Class

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как сделать калькулятор в Visual Basic???
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*