Оптимизация калькулятора - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Прошу помощи! Совсем недавно начал программировать. И решил создать калькулятор. Вот код:
Листинг программы
  1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  2. If TextBox1.Text <> "" Then
  3. TX = Val(TextBox1.Text)
  4. If TextBox2.Text <> "" Then
  5. XT = Val(TextBox2.Text)
  6. TextBox3.Text = TX / XT
  7. Else
  8. MsgBox("Введите второе число", MsgBoxStyle.Critical)
  9. End If
  10. Else
  11. MsgBox("Введите первое число!", MsgBoxStyle.Critical)
  12. End If
  13. End Sub
  14. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  15. If TextBox1.Text <> "" Then
  16. TX = Val(TextBox1.Text)
  17. If TextBox2.Text <> "" Then
  18. XT = Val(TextBox2.Text)
  19. TextBox3.Text = TX * XT
  20. Else
  21. MsgBox("Введите второе число", MsgBoxStyle.Critical)
  22. End If
  23. Else
  24. MsgBox("Введите первое число!", MsgBoxStyle.Critical)
  25. End If
  26. End Sub
  27. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
  28. If TextBox1.Text <> "" Then
  29. TX = Val(TextBox1.Text)
  30. If TextBox2.Text <> "" Then
  31. XT = Val(TextBox2.Text)
  32. TextBox3.Text = TX - XT
  33. Else
  34. MsgBox("Введите второе число", MsgBoxStyle.Critical)
  35. End If
  36. Else
  37. MsgBox("Введите первое число!", MsgBoxStyle.Critical)
  38. End If
  39. End Sub
  40. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
  41. If TextBox1.Text <> "" Then
  42. TX = Val(TextBox1.Text)
  43. If TextBox2.Text <> "" Then
  44. XT = Val(TextBox2.Text)
  45. TextBox3.Text = TX + XT
  46. Else
  47. MsgBox("Введите второе число", MsgBoxStyle.Critical)
  48. End If
  49. Else
  50. MsgBox("Введите первое число!", MsgBoxStyle.Critical)
  51. End If
  52. End Sub
Как его можно оптимизировать? Заранее спасибо!

Решение задачи: «Оптимизация калькулятора»

textual
Листинг программы
  1. Public Enum Operations
  2.     Plus
  3.     Minus
  4. End Enum
  5.  
  6. Private actions As New Dictionary(Of Operations, Func(Of Integer, Integer, Integer))() From { _
  7.     {Operations.Plus, Function(x, y) x + y}, _
  8.     {Operations.Minus, Function(x, y) x - y} _
  9. }
  10.  
  11. Public Function Math(x As Integer, y As Integer, operations As Operations) As Integer
  12.     Return actions(operations)(x, y)
  13. End Function
  14. Public Function Math(x As String, y As String, operations As Operations) As Integer
  15.     If x = [String].Empty OrElse y = [String].Empty Then
  16.         Throw New Exception("X or Y is Empry!")
  17.     End If
  18.     Return actions(operations)(Convert.ToInt32(x), Convert.ToInt32(y))
  19. End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут