Вычислить площадь и объем цилиндра - что нужно сделать, чтобы использовалось последнее, корректно введенное число? - VB

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

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

Доброго времени суток. Нужно было написать программу для вычисления площади и объема цилиндра, вроде все элементы правильно написал. Вопрос по операторам *If..When* и "Do..Loop" - если ввожу число отрицательное или равное нулю - цикл совершается, но используется первое(введенное неверно) число. Голову сломал уже, подскажите что нужно сделать чтобы использовалось последнее, корректно введенное число?
Листинг программы
  1. Dim Radius As Integer, Temp As Integer
  2. Temp = InputBox("Ââåäèòå Г°Г*äèóñ " & Chr(13) & "êðóãГ*" & "(Гў ìåòðГ*Гµ)", BoxTitle)
  3. Radius = CSng(Temp)
  4. If Temp <= 0 Then
  5. MsgBox "ГЌГҐГЇГ°Г*âèëüГ*ûå Г¤Г*Г*Г*ûå. Ââåäèòå ïîâòîðГ*Г®!", vbCritical
  6. End If
  7. Do Until (Temp > 0)
  8. Temp = InputBox("Ââåäèòå Г°Г*äèóñ " & Chr(13) & "êðóãГ*" & "(Гў ìåòðГ*Гµ)", BoxTitle)
  9. If Temp <= 0 Then
  10. MsgBox "ГЌГҐГЇГ°Г*âèëüГ*ûå Г¤Г*Г*Г*ûå. Ââåäèòå ïîâòîðГ*Г®!", vbCritical
  11. End If
  12. Loop
  13. Dim Heigth As Integer, Tent As Integer
  14. Tent = InputBox("Ââåäèòå âûñîòó " & Chr(13) & "öèëèГ*äðГ*" & "(Гў ìåòðГ*Гµ)", BoxTitle)
  15. Heigth = CSng(Tent)
  16. If Tent <= 0 Then
  17. MsgBox "ГЌГҐГЇГ°Г*âèëüГ*ûå Г¤Г*Г*Г*ûå. Ââåäèòå ïîâòîðГ*Г®!", vbCritical
  18. End If
  19. Do Until (Tent > 0)
  20. Tent = InputBox("Ââåäèòå âûñîòó " & Chr(13) & "öèëèГ*äðГ*" & "(Гў ìåòðГ*Гµ)", BoxTitle)
  21. If Tent <= 0 Then
  22. MsgBox "ГЌГҐГЇГ°Г*âèëüГ*ûå Г¤Г*Г*Г*ûå. Ââåäèòå ïîâòîðГ*Г®!", vbCritical
  23. End If
  24. Loop
  25. CircleArea1 = Pi * Radius * Radius * Heigth
  26. CircleArea2 = CircleArea1 * 1000
  27. CircleArea3 = 2 * Pi * Radius * (Radius + Heigth)
  28. CircleArea4 = (2 * Pi * Radius * (Radius + Heigth)) * 10000
  29. MsgBox CircleArea1 & "(ì^3)" & Chr(13) & CircleArea2 & "(äì^3)", vbInformation + vbOKOnly, "Îáúåì(V)"
  30. MsgBox CircleArea3 & "(Г¬^2)" & Chr(13) & CircleArea4 & "(Г±Г¬^2)", vbInformation + vbOKOnly, "ÏëîùГ*äü ïîëГ*îé ïîâåðõГ*îñòè(S)"
  31. End Sub

Решение задачи: «Вычислить площадь и объем цилиндра - что нужно сделать, чтобы использовалось последнее, корректно введенное число?»

textual
Листинг программы
  1. Do
  2. Temp = InputBox("Введите радиус " & Chr(13) & "круга" & "(в метрах)", BoxTitle)
  3. If Temp = "" Then Exit Sub 'нажали отмена
  4. If Not IsNumeric(Temp) Then
  5.     MsgBox "Неправильные данные. Введите повторно!", vbCritical
  6. Else
  7.     Radius = CSng(Temp)
  8.     If Radius <= 0 Then
  9.         MsgBox "Радиус не может быть отрицательным." & Chr(13) & _
  10.         "Введите повторно!", vbCritical
  11.     Else
  12.         Exit Do
  13.     End If
  14. End If
  15. Loop

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


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

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

11   голосов , оценка 3.727 из 5

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

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

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