Сложение двух обычных (не десятичных) дробей - VB

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

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

В textbox1 записывается дробь формата 1/2 во второй textbox тоже самое 3/4 и на выходе должна получиться дробь такого же формата(в третьем textbox) делать нужно через right и left но вот как реализовать не могу додуматься,с форматами типа данных у меня не очень

Решение задачи: «Сложение двух обычных (не десятичных) дробей»

textual
Листинг программы
  1. Option Explicit
  2. Private Sub Command1_Click()
  3.     Dim a As String, b As String, c1 As Integer, c2 As Integer
  4.     Dim a1 As Integer, a2 As Integer, b1 As Integer, b2 As Integer
  5.     a = Trim$(Text1.Text)   '1-е число
  6.    b = Trim$(Text2.Text)   '2 число
  7.    a1 = Val(Left(a, InStr(1, a, "/") - 1))        '1-й числитель
  8.    b1 = Val(Left(b, InStr(1, b, "/") - 1))        '2 числитель
  9.    a2 = Val(Right(a, Len(a) - InStr(1, a, "/")))  '1-й знаменатель
  10.    b2 = Val(Right(b, Len(b) - InStr(1, b, "/")))  '2 знаменатель
  11.    c2 = NOK(a2, b2)                     'общий знаменатель
  12.    c1 = a1 * (c2 \ a2) + b1 * (c2 \ b2) 'числитель
  13.    If c1 = c2 Then Text3.Text = "1" Else Text3.Text = c1 & "/" & c2
  14. End Sub
  15. Private Function NOK(x As Integer, y As Integer) As Integer ' Функция нахождения НОК 2-ух чисел
  16.    NOK = (x \ NOD(x, y)) * y
  17. End Function
  18. Private Function NOD(ByVal x As Integer, ByVal y As Integer) As Integer ' Функция нахождения НОД 2-ух чисел
  19.    Dim r As Integer
  20.     Do While y > 0
  21.         r = x Mod y: x = y: y = r
  22.     Loop
  23.     NOD = x
  24. End Function

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


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

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

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

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

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

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