Калькулятор на visual basic: Калькулятор на VB.NET

Создание калькулятора в среде Visual Studio с использованием языка программирования Visual Basic

Вы можете ознакомиться и скачать презентацию на
тему Создание калькулятора в среде Visual Studio с использованием языка программирования Visual Basic.
Доклад-сообщение содержит 15 слайдов.
Презентации для любого класса можно скачать бесплатно.
Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь
им с друзьями с помощью социальных кнопок и добавьте в закладки в своем
браузере.


Слайд 1

Описание слайда:





с. Никольское, 2014


Слайд 2

Описание слайда:




Visual Studio
Программный комплекс от корпорации Microsoft, рассчитанный на создание программного обеспечения. Имеет удобный интерфейс и совместим со многими языками программирования


Слайд 3

Описание слайда:




Visual Basic
Язык программирования разработанный корпорацией Microsoft, является объектно-ориентированным. Рассчитан на создание программного обеспечения для операционных систем Microsoft Windows. Входит в состав Microsoft Visual Studio


Слайд 4

Описание слайда:




Вильгельм Шиккард


Слайд 5

Описание слайда:




Блез Паскаль


Слайд 6

Описание слайда:




Рабочая часть калькулятора


Слайд 7

Описание слайда:




Калькулятор целиком


Слайд 8

Описание слайда:




Компактный калькулятор


Слайд 9

Описание слайда:




Арифмометр системы Однера «Феликс»


Слайд 10

Описание слайда:




Электронный калькулятор «Вега»


Слайд 11

Описание слайда:




Программируемый калькулятор


Слайд 12

Описание слайда:




Калькулятор в составе ОС Windows разных редакций


Слайд 13

Описание слайда:




Калькулятор созданный в среде Visual Basic


Слайд 14

Описание слайда:




Второй вариант калькулятора созданного в Visual Basic


Слайд 15

Описание слайда:




Арифметические действия


Learn Visual Basic in Y Minutes

Поделиться страницей

Выберите тему:

Получить исходный код:
learnvisualbasic-ru. vb

Module Module1
    Sub Main()
        'Краткий обзор консольных приложений Visual Basic перед более
        'глубоким изучением.
        'Апостроф начинает строку комментария.
        'Чтобы изучить это руководство в компиляторе Visual Basic,
        'я создал систему навигации.
        'Эта система будет объяснена при прохождении этого урока.
        'Постепенно вы всё поймете.
        Console.Title = ("Выучи Х за Y минут")
        Console.WriteLine("НАВИГАЦИЯ") 'Display
        Console.WriteLine("")
        Console.ForegroundColor = ConsoleColor.Green
        Console.WriteLine("1. Вывод данных")
        Console.WriteLine("2. Ввод данных")
        Console.WriteLine("3. Расчёт целых чисел")
        Console.WriteLine("4. Расчёт десятичных дробей")
        Console.WriteLine("5. Калькулятор")
        Console.WriteLine("6. Использование циклов Do While")
        Console.WriteLine("7. Использование циклов For")
        Console.WriteLine("8. Условные выражения")
        Console. WriteLine("9. Выберите напиток")
        Console.WriteLine("50. О приложении")
        Console.WriteLine("Выберите номер из списка")
        Dim selection As String = Console.ReadLine
        '«Case» в операторе Select не является обязательным.
        'Например, "Select selection" вместо "Select Case selection"
        'также будет работать.
        Select Case selection
            Case "1" 'Вывод данных
                Console.Clear() 'Очищает окно консоли
                HelloWorldOutput() 'Открывает приватную подпрограмму.
            Case "2" 'Ввод данных
                Console.Clear()
                HelloWorldInput()
            Case "3" 'Расчёт целых чисел
                Console.Clear()
                CalculatingWholeNumbers()
            Case "4" 'Расчёт десятичных дробей
                Console.Clear()
                CalculatingDecimalNumbers()
            Case "5" 'Калькулятор
                Console.Clear()
                WorkingCalculator()
            Case "6" 'Использование циклов Do While
                Console. Clear()
                UsingDoWhileLoops()
            Case "7" 'Использование циклов For
                Console.Clear()
                UsingForLoops()
            Case "8" 'Условные выражения
                Console.Clear()
                ConditionalStatement()
            Case "9" 'Выражения If/Else
                Console.Clear()
                IfElseStatement() 'Выберите напиток
            Case "50" 'Окно сообщения «О приложении»
                Console.Clear()
                Console.Title = ("Выучи Х за Y минут :: О приложении")
                MsgBox("Это руководство от Брайана Мартина (@BrianMartinn")
                Console.Clear()
                Main()
                Console.ReadLine()
        End Select
    End Sub
    'Один - Я использую эти цифры для того, чтобы было проще
    'соотносить код с системой навигации.
    'Мы используем частные подпрограммы для разделения различных
    'разделов программы.
    Private Sub HelloWorldOutput()
        'Название консольного приложения
        Console. Title = "Вывод данных | Выучи Х за Y минут"
        'Используйте Console.Write ("") или Console.WriteLine ("")
        'для отображения результатов.
        'Затем следует Console.Read () или Console.Readline ()
        'Console.ReadLine () показывает вывод в консоли.
        Console.WriteLine("Hello World")
        Console.ReadLine()
    End Sub
    'Два
    Private Sub HelloWorldInput()
        Console.Title = "Ввод данных | Выучи Х за Y минут"
        'Переменная
        'используется для хранения пользовательских данных.
        'Объявление переменных начинается с Dim и заканчиваются
        'As VariableType (тип переменной).
        'В этом уроке мы хотим узнать ваше имя и заставить программу 
        'реагировать на это.
        Dim username As String
        'Мы используем тип «string», так как ваше имя - это текстовая переменная.
        Console.WriteLine("Привет, как тебя зовут? ") 'Просит ввести имя.
        username = Console.ReadLine() 'Сохраняет имя в переменной username.
        Console. WriteLine("Пирвет, " + username) 'Выводит: «Привет, 'имя'»
        Console.ReadLine() 'Отображает вышеуказанный вывод.
        'Вышеуказанная программа спросит ваше имя и скажет вам привет.
        'Есть и другие типы переменных, такие как целые числа (Integer),
        'мы используем Integer для обработки целых чисел.
    End Sub
    'Три
    Private Sub CalculatingWholeNumbers()
        Console.Title = "Расчёт целых чисел | Выучи Х за Y минут"
        Console.Write("Первое число: ") 'Введите первое целое число: 1, 2, 50, 104 и т.д.
        Dim a As Integer = Console.ReadLine()
        Console.Write("Второе число: ") 'Введите второе целое число.
        Dim b As Integer = Console.ReadLine()
        Dim c As Integer = a + b
        Console.WriteLine(c)
        Console.ReadLine()
        'Приведенная программа сумирует два целых числа
    End Sub
    'Четыре
    Private Sub CalculatingDecimalNumbers()
        Console.Title = "Расчёт десятичных дробей | Выучи Х за Y минут"
        'Мы также должны уметь обрабатывать десятичные дроби. 
        'Просто измените тип переменной с Integer на Double.
        'Введите число с плавающей точкой: 1.2, 2.4, 50.1, 104.9 и т.д.
        Console.Write("Первое число: ")
        Dim a As Double = Console.ReadLine
        Console.Write("Второе число: ") 'Введите второе число с плавающей точкой.
        Dim b As Double = Console.ReadLine
        Dim c As Double = a + b
        Console.WriteLine(c)
        Console.ReadLine()
        'Приведенный выше код может сложить две десятичных дроби.
    End Sub
    'Пять
    Private Sub WorkingCalculator()
        Console.Title = "Калькулятор | Выучи Х за Y минут"
        'Но что, если вам нужен калькулятор, который может обрабатывать сложение, 
        'вычитание, умножение и деление?
        'Просто скопируйте и вставьте приведенный код.
        Console.Write("Первое число: ")
        Dim a As Double = Console.ReadLine
        Console.Write("Второе число: ")
        Dim b As Double = Console.ReadLine
        Dim c As Double = a + b
        Dim d As Double = a * b
        Dim e As Double = a - b
        Dim f As Double = a / b
        'С помощью следующего кода мы можем вывести результат сложения,
        'вычитания, умножения и деления, рассчитанный выше, на экран. 
        Console.Write(a.ToString() + " + " + b.ToString())
        'Мы хотим, чтобы в начале ответа было 3 пробела, для этого 
        'вы можете использовать метод String.PadLeft (3).
        Console.WriteLine(" = " + c.ToString.PadLeft(3))
        Console.Write(a.ToString() + " * " + b.ToString())
        Console.WriteLine(" = " + d.ToString.PadLeft(3))
        Console.Write(a.ToString() + " - " + b.ToString())
        Console.WriteLine(" = " + e.ToString.PadLeft(3))
        Console.Write(a.ToString() + " / " + b.ToString())
        Console.WriteLine(" = " + f.ToString.PadLeft(3))
        Console.ReadLine()
    End Sub
    'Шесть
    Private Sub UsingDoWhileLoops()
        'Код такой же, как и в предидущей подпрограмме
        'На этот раз мы спрашиваем, хочет ли пользователь продолжить (да или нет?)
        'Мы будем использовать цикл Do While, потому что не знаем,
        'понадобиться ли пользователю калькулятор болше одного раза.
        Console.Title = "Использование циклов Do While | Выучи Х за Y минут"
        Dim answer As String
        'Мы используем тип переменной "String", так как её значение текст. 
        Do 'Мы начаем программу с
            Console.Write("Первое число: ")
            Dim a As Double = Console.ReadLine
            Console.Write("Второе число: ")
            Dim b As Double = Console.ReadLine
            Dim c As Double = a + b
            Dim d As Double = a * b
            Dim e As Double = a - b
            Dim f As Double = a / b
            Console.Write(a.ToString() + " + " + b.ToString())
            Console.WriteLine(" = " + c.ToString.PadLeft(3))
            Console.Write(a.ToString() + " * " + b.ToString())
            Console.WriteLine(" = " + d.ToString.PadLeft(3))
            Console.Write(a.ToString() + " - " + b.ToString())
            Console.WriteLine(" = " + e.ToString.PadLeft(3))
            Console.Write(a.ToString() + " / " + b.ToString())
            Console.WriteLine(" = " + f.ToString.PadLeft(3))
            Console.ReadLine()
            'Спросите пользователя, хочет ли он продолжить,
            'в ответе учитывается регистр букв.
            Console. Write("Желаете ли вы продолжить? (да / нет)")
            'Программа берет значение и записывает в переменную answer.
            answer = Console.ReadLine()
            'Когда пользователь вводит «да», программа переходит к Do и снова запускается.
        Loop While answer = "yes"
    End Sub
    'Семь
    Private Sub UsingForLoops()
        'Иногда программу нужно запускать только один раз.
        'В этой программе мы осуществим обратный отсчет от 10.
        Console.Title = "Использование циклов For | Выучи Х за Y минут"
        'Объявите переменные и Step (размер шага, то есть скорость уменьшения,
        'например, -1, -2, -3 и т.д.).
        For i As Integer = 10 To 0 Step -1
            Console.WriteLine(i.ToString) 'Показывает значение счетчика.
        Next i 'Рассчитать новое значение i.
        Console.WriteLine("Поехали")
        Console.ReadLine()
    End Sub
    'Восемь
    Private Sub ConditionalStatement()
        Console.Title = "Условные выражения | Выучи Х за Y минут"
        Dim userName As String
        Console. WriteLine("Привет, как тебя зовут? ") 'Спросите имя пользователя.
        userName = Console.ReadLine() 'Записать имя в переменную userName.
        If userName = "Адам" Then
            Console.WriteLine("Привет, Адам")
            Console.WriteLine("Спасибо за создание этого полезного сайта")
            Console.ReadLine()
        Else
            Console.WriteLine("Привет " + userName)
            Console.WriteLine("Вы заглянули на сайт www.learnxinyminutes.com")
            Console.ReadLine() 'Программа останавливается и выводит вышеуказанный текст.
        End If
    End Sub
    'Девять
    Private Sub IfElseStatement()
        Console.Title = "Выражения If/Else | Выучи Х за Y минут"
        'Иногда важно рассмотреть более двух альтернатив.
        'Иногда некоторые из них лучше других.
        'Когда это произойдет, нам потребуется более одного утверждения «if» (если).
        'Оператор «if» подобен торговому автомату.
        'В котором пользователь пишет код (A1, A2, A3 и т.д.), чтобы выбрать элементы. 
        'Все варианты могут быть объединены в одном утверждении «if».
        Dim selection As String 'Объявить переменную для выбора
        Console.WriteLine("Пожалуйста, выберите продукт из нашего прекрасного торгового автомата.")
        Console.WriteLine("A1. для 7Up")
        Console.WriteLine("A2. для Fanta")
        Console.WriteLine("A3. для Dr. Pepper")
        Console.WriteLine("A4. для Diet Coke")
        selection = Console.ReadLine() 'Сохранить выбор пользователя
        If selection = "A1" Then
            Console.WriteLine("7up")
        ElseIf selection = "A2" Then
            Console.WriteLine("Fanta")
        ElseIf selection = "A3" Then
            Console.WriteLine("Dr. Pepper")
        ElseIf selection = "A4" Then
            Console.WriteLine("Diet Coke")
        Else
            Console.WriteLine("Извините, у меня нет " + selection)
        End If
        Console.ReadLine()
    End Sub
End Module

Хотите предложить свой перевод? Может быть, улучшение перевода? Откройте Issue в репозитории Github или сделайте pull request сами!

Первоначально предоставлено автором Brian Martin, и обновлено 0 автором (-ами).

Научный калькулятор, созданный с помощью Visual Basic

Назад к примерам кодов VB6

Это калькулятор, который напоминает типичный научный калькулятор, хотя и в более простой версии. В нашей версии мы включили только тригонометрические функции и логарифмические функции. Причина создания более простой версии калькулятора состоит в том, чтобы помочь пользователям постепенно изучать концепции программирования и не путать их, особенно тех, кто учится программировать на Visual Basic.

Чтобы спроектировать интерфейс, нам просто нужно изменить интерфейс базового калькулятора, который мы создали ранее с помощью Visual Basic 6.  В этом калькуляторе мы добавили еще пять кнопок, это Sin, Cos, Tan, Log и Лн. Общими тригонометрическими функциями в Visual Basic 6 являются Sin, Cos, Tan и Atn.

а) Sin — это функция, которая вычисляет значение синуса угла в радианах.
б) Cos — функция, вычисляющая значение косинуса угла в радианах.
c) Тангенс – это функция, которая вычисляет значение тангенса угла в радианах.
d) Atn — функция, вычисляющая значение арктангенса угла в радианах.

Log вычисляет значение логарифма по основанию 10, в то время как Ln вычисляет значение натурального логарифма.

Угол в градусах необходимо преобразовать в радианы, прежде чем его можно будет вычислить с помощью приведенных выше тригонометрических функций. Из школьной математики мы знаем, что π радиан эквивалентно 180°; что означает, что 1 радиан эквивалентен π, деленному на 180. Следовательно, чтобы преобразовать угол x из градусов в радианы, мы должны умножить x на (π/180). Однако есть небольшая проблема, поскольку получить точное значение π довольно сложно, к счастью, в VB есть способ сделать это. Прежде всего, мы знаем, что арктангенс, равный 1, вернет значение 45°, равное π/4 радиана. Итак, чтобы получить значение π, просто умножьте арктангенс 1 на 4. Теперь мы готовы ввести код для всех вышеперечисленных дополнительных кнопок.

Для кнопки Sin введите следующий код:

Private Sub CmdSin_Click()

sinx = Round(Sin(displayValue * 4 * Atn(1) / 180), 4)
panel. Caption = sinx

End Sub

* Функция Round предназначена для корректировки вывода до определенного количества знаков после запятой.

Для кнопки Cos введите следующий код:

Private Sub CmdCos_Click()

cosx = Round(Cos(displayValue * 4 * Atn(1) / 180), 4)
panel.Caption = cosx

End Sub

Для кнопки Tan введите следующий код:

Private Sub CmdTan_Click()

tanx = Round(Tan(displayValue * 4 * Atn(1) / 180), 4)
panel.Caption = tanx

End Sub

Для кнопки Ln введите следующий код:

Private Sub CmdLn_Click()
panel.Caption = Log(displayValue)
End Sub

и для кнопки Log введите следующий код:

Private Sub CmdLog_Click()
panel.Caption = Log(displayValue) / Log(10)
End Sub

Интерфейс показан ниже:

Научный калькулятор, созданный с помощью Visual Basic 6

Вернуться к кодам примеров VB6

vb.net — Нужна помощь с калькулятором площади в Visual Basics

спросил

Изменено
1 год, 6 месяцев назад

Просмотрено
87 раз

Мне нужна помощь с моим кодом в калькуляторе прямоугольников. .. Поэтому я сделал калькулятор площади прямоугольника, который включает в себя длину, ширину, площадь, количество прямоугольников и наименьший прямоугольник… Я также создаю блок захвата, который обрабатывает извлечение недействительного приведения 2 из них… Также класс ожидания A, когда значение результата больше 1 миллиона… Вот мой код

 Public Class Form1
Затемненная область как десятичная
Dim numberofRectangles как целое число
Dim наименьший прямоугольник как десятичный
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Обрабатывает btnCalculate.Click
    Пытаться
        Размерная длина в виде десятичного числа = CDec(txtLength.Text)
        Уменьшить ширину как десятичное число = CDec (txtWidth.Text)
        Dim Area As Decimal = ширина * длина
        Dim numberofRectangles As Integer = numberofRectangles + 1
        Dim наименьший прямоугольник как десятичное число = Math.Min (наименьший прямоугольник, площадь)
        txtArea.Text = Area.ToString("n2")
        txtNumberOfRectangles. Text = числоRectangles.ToString
        txtSmallestRectangle.Text = наименьшийRectangle.ToString("n2")
        txtLength.Выбрать()
    Поймать экс как InvalidCastException
        MessageBox.Show("Пожалуйста, проверьте записи на допустимые числовые данные",
                    ex.GetType.ToString)
    Поймать ex как OverflowException
        MessageBox.Show("Пожалуйста, проверьте, чтобы записи не были слишком большими.",
            ex.GetType.ToString)
    Поймать экс как исключение
        MessageBox.Show(ex.Message & vbNewLine & vbNewLine & ex.StackTrace,
               ex.GetType.ToString)
        Если площадь < 1000000000 Тогда
            Выбросить New FormatException("Прямоугольник слишком велик!")
            Возвращаться
        Конец, если
    Окончательно
    Завершить попытку
Конец сабвуфера
 

Во-первых, у меня возникает ошибка, когда мой наименьший прямоугольник равен 999 999 999,00, а для ожидания, когда значение результата превышает 1 миллион, у меня возникают проблемы, как вы, вероятно, видите из кода. Нужен совет по моему коду

Редактировать: исправьте верхнюю часть Теперь получаю 0,00 в наименьшем прямоугольнике

Должен ли я использовать me.compute где-то также

  • vb.net
  • visual-studio-2015

90 092

1

Вы написали с ошибкой наименьшийRecntangle - вот почему вам нужно было повторно объявить его - это отличается от переменной класса наименьшийRectangle . По этой причине вы никогда не устанавливаете для наименьший прямоугольник значение, отличное от 999999999.
Кроме того, вы можете использовать значение с именем Decimal.MaxValue , чтобы сделать то же самое, что и 999999999, но с фактическим максимально возможным десятичным числом. Однако я бы порекомендовал вместо этого использовать Decimal? и изначально присвоить значение null. В коде есть проверка, которая «если наименьшийRectangle равен нулю, то установите наименьшийRectangle, в противном случае установите его на минимум наименьшийRectangle и площадь».

2

Обработка исключений предназначена для непредвиденных ошибок, которые находятся вне вашего контроля. Мы можем протестировать пользовательский ввод, поэтому для этого нам не нужна обработка исключений.

 ex.GetType.ToString
 

Это не имеет смысла. Если вы хотите отобразить сообщение Exception , вы можете использовать и амперсанд и и ex.Message . ex.ToString обычно предоставляет больше информации, чем вы хотите, чтобы пользователь видел.

TryParse проверит, можно ли преобразовать строку, указанную в первом параметре. Он возвращает True или False . Если True , преобразованная строка будет присвоена второму параметру.

 количество прямоугольников += 1
 

— это сокращенный способ записи

 количество прямоугольников = количество прямоугольников + 1
 

Единственная строка кода, которая может вызвать исключение, — это вычисление площади, поэтому мы ограничим блок Try этой строкой.

Ваша основная проблема заключалась в использовании оператора Dim для numberofRectangles и наименьшего прямоугольника внутри Sub . Эти переменные теряют значение по адресу End Sub . Они существуют только внутри Sub . Хотя Dim имеет то же значение, что и Private для объявления переменных уровня Class , Private предпочтительнее. Dim используется для локальной переменной в методе.

Чтобы избежать проблемы с тем, что наименьший прямоугольник всегда равен нулю, я проверил счетчик и установил наименьший прямоугольник в первую область прямоугольников. После этого Math.Min вступает во владение.

 Личное количество прямоугольников как целое число
Частный наименьший прямоугольник как десятичный
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Обрабатывает btnCalculate. Click
Размерная длина Как десятичная
Размерная ширина как десятичная
Если Не Decimal.TryParse(txtLength.Text, длина) Тогда
MessageBox.Show("Пожалуйста, проверьте записи на допустимые числовые данные")
Выйти из подпрограммы
Конец, если
Если Не Decimal.TryParse(txtWidth.Text, ширина) Тогда
MessageBox.Show("Пожалуйста, проверьте записи на допустимые числовые данные")
Выйти из подпрограммы
Конец, если
Тусклая область как десятичная
Пытаться
Площадь = ширина * длина
Поймать ex как OverflowException
MessageBox.Show("Пожалуйста, проверьте, чтобы записи не были слишком большими." &
экс.Сообщение)
Выйти из подпрограммы
Поймать экс как исключение
MessageBox.Show(ex.Message)
Выйти из подпрограммы
Завершить попытку
количество прямоугольников += 1
Если числоПрямоугольников < 2 Тогда наименьший прямоугольник = площадь Еще наименьший прямоугольник = Math.