Антон
Антон

Что нужно исправить в программе ( на Visual Basic),чтобы она удовлетворяла заданию?

Задание звучит так: В таблице (дана таблица значений) приведены характеристики стреловых, автомобильных и пневмоколёсных кранов. Предоставьте пользователю выбор решения одной из двух задач: 1) при вводе марки крана выдаётся одна из выбранных пользователем характеристик; 2)при вводе значения характеристики выводится нужная марка крана.

Dim a, b, c As String
Dim f As Single
a = InputBox("Выберите тип задачи" + vbCrLf + "1-ввод марки" + vbCrLf + "2-ввод значения характеристики")
b = InputBox("Выберите марку" + vbCrLf + "КС-2571" + vbCrLf + "КС-3562" + vbCrLf + "КС-4362" + vbCrLf + "КС-5363" + vbCrLf + "КС-6362" + vbCrLf + "КС-7361" + vbCrLf + "КС-8362")
c = InputBox("Выберите характеристику" + vbCrLf + "1-максимальная грузоподъёмность, т" + vbCrLf + "2-длина основной стрелы, м" + vbCrLf + "3 - минимальная скорость подъёма (опускания) крюка при работе основной стрелой, м/мин" + vbCrLf + "4 -максимальная скорость подъёма (опускания) крюка при работе основной стрелой, м/мин" + vbCrLf + "5 - минимальная частота вращения поворотной платформы, 1/мин" + vbCrLf + "6 - максимальная частота вращения поворотной платформы, 1/мин")
Select Case a
Case 1
Select Case b
Case 1: MsgBox "КС-2571"
Case 2: MsgBox "КС-3562"
Case 3: MsgBox "КС-4362"
Case 4: MsgBox "КС-5363"
Case 5: MsgBox "КС-6362"
Case 6: MsgBox "КС-7361"
Case 7: MsgBox "КС-8362"
Case 2
Select Case c
Case 1: MsgBox "максимальная грузоподъёмность, т"
Case 2: MsgBox "длина основной стрелы, м"
Case 3: MsgBox "минимальная скорость подъёма (опускания) крюка при работе основной стрелой, м/мин"
Case 4: MsgBox "максимальная скорость подъёма (опускания) крюка при работе основной стрелой, м/мин"
Case 5: MsgBox "Минимальная частота вращения поворотной платформы, 1/мин"
Case 6: MsgBox "Максимальная частота вращения поворотной платформы, 1/мин"
Case 2
Select Case c
Case 1
If f = 6.3 Then MsgBox "КС-2571"
If f = 10 Then MsgBox "КС-3562"
If f = 16 Then MsgBox "КС-4362"
If f = 25 Then MsgBox "КС-5363"
If f = 40 Then MsgBox "КС-6362"
If f = 63 Then MsgBox "КС-7361"
If f = 100 Then MsgBox "КС-8362"
Case 2
If (f >= 6.8) And (f <= 10.8) Then MsgBox "КС-2571"
If (f = 10) Or (f = 14) Then MsgBox "КС-3562"
If f = 12.5 Then MsgBox "КС-4362"
If f = 15 Then MsgBox "КС-5363"
If f = 15 Then MsgBox "КС-6362"
If f = 15 Then MsgBox "КС-7361"
If f = 20 Then MsgBox "КС-8362"
Case 3
If f = 0.3 Then MsgBox "КС-2571"
If f = 0.2 Then MsgBox "КС-3562"
If f = 1.5 Then MsgBox "КС-4362"
If f = 0.3 Then MsgBox "КС-5363"
If f = 0.25 Then MsgBox "КС-6362"
If f = 0.5 Then MsgBox "КС-7361"
If f = 0.4 Then MsgBox "КС-8362"
Case 4
If f = 12.5 Then MsgBox "КС-2571"
If f = 10 Then MsgBox "КС-3562"
If f = 6 Then MsgBox "КС-4362"
If f = 6 Then MsgBox "КС-5363"
If f = 5 Then MsgBox "КС-6362"
If f = 5 Then MsgBox "КС-7361"
If f = 3 Then MsgBox "КС-8362"
Case 5
If f = 0.3 Then MsgBox "КС-2571"
If f = 0.1 Then MsgBox "КС-3562"
If f = 0.34 Then MsgBox "КС-4362"
If f = 0.1 Then MsgBox "КС-5363"
If f = 0.1 Then MsgBox "КС-6362"
If f = 0.1 Then MsgBox "КС-7361"
If f = 0.05 Then MsgBox "КС-8362"
Case 6
If f = 2 Then MsgBox "КС-2571"
If f = 1.6 Then MsgBox "КС-3562"
If f = 1.1 Then MsgBox "КС-4362"
If f = 1.2 Then MsgBox "КС-5363"
If f = 1 Then MsgBox "КС-6362"
If f = 1 Then MsgBox "КС-7361"
If f = 0.45 Then MsgBox "КС-8362"
End Select
End Sub

Юлия Кадова
Юлия Кадова

Для начала переделать вот что:
a = InputBox("Выберите тип задачи" + vbCrLf + "1-ввод марки" + vbCrLf + "2-ввод значения характеристики")
if a=1 then
b = InputBox("Выберите марку" + vbCrLf + "КС-2571" + vbCrLf + "КС-3562" + vbCrLf + "КС-4362" + vbCrLf + "КС-5363" + vbCrLf + "КС-6362" + vbCrLf + "КС-7361" + vbCrLf + "КС-8362")
else
c = InputBox("Выберите характеристику" + vbCrLf + "1-максимальная грузоподъёмность, т" + vbCrLf + "2-длина основной стрелы, м" + vbCrLf + "3 - минимальная скорость подъёма (опускания) крюка при работе основной стрелой, м/мин" + vbCrLf + "4 -максимальная скорость подъёма (опускания) крюка при работе основной стрелой, м/мин" + vbCrLf + "5 - минимальная частота вращения поворотной платформы, 1/мин" + vbCrLf + "6 - максимальная частота вращения поворотной платформы, 1/мин")
end if
Посмотрим, что дальше.

А дальше я вижу, что пропущены в нескольких местах команды End Select.

Похожие вопросы
Visual Basic, тестовая программа
мне нужно на урок информатики, чтобы исправить оценку создать простенькую программу на visual basic! помогите)
в чем отличие операции задания переменной в visual basic 6 и visual basic 10
Помогите с заданием пожалуйста (Visual Basic)
Программа - Visual Basic, проблема.
Простейшая программа Visual basic
составить программу в visual basic
Visual Basic. Объясните задание
Помогите пожалуйста. Мне нужно сделать программу в Visual Basic.
Нужно написать несколько программ в Visual Basic