Юра, не прибедняйся. Программа тянет на урок информатики в 5-ом классе максимум. Причем скопированна с какого то древнего учебника. И откровенно - плохо скопированна. Ты даже адаптировать ее нормально не смог под эту версию бейсика
Нет, Юра плохо адаптировал. Подпрограммы вызываемые безусловным переходом goto, нужно заменить на функции. Причем, подпрограммы в строках 130 и 160 отличаются только именем и возрастом. Проще эти данные разместить в record или массив. İnput тут не работает потому что он читает из консоли, т.е.из stdin. Нужно использовать функцию аналогичную scanf в С++. Но для этого нужно инициализировать консоль. Проще использовать поля ввода EditBox.
Причем у тебя "да" в строке 90 прописано жёстко, т.е. всегда будет выполняться только одно условие. А как сказать нет? В общем у тебя должны быть две кнопки, да и нет. Первая выполнять код строки 130, а вторая 190. При этом if вообще не нужен. В общем всю программу нужно переписать полностью, учитывая особенности оконного интерфейса. Она у тебя рассчитана на консольную программу. Как вариант, можешь сделать именно консольную программу, там она будет более уместно, хотя от goto все же лучше избавится
В оригинале это было на Бейсике под MS-DOS. Я не стал ничего добавлять, просто построчно переписал эти шесть программ и адаптировал под Visual Basic 5.0. Поэтому такая мешанина и получилась. Все, что я сделал - заставил эту программу работать. А в оригинальном виде код не пошел бы, так как не интерпретировался бы. Еще я добавил определения переменных, чтобы они не были типа Variant по умолчанию. Поля ввода переменных добавлять не стал.
Я по коду вижу что это древнее как гавно мамонта. Так уже давно никто не пишет. Лет 40 уже. Мог бы и нормально сделать, раз уж взялся. Правда в этом случае программа получилась бы из нескольких строк. Смысл это писать нет, т.к. под ДОС в ней был смысл - показать ветвление и подпрограммы. А вот под виндов это вообще не о чем
Мы используем cookie-файлы, чтобы улучшить сервисы для вас. Если ваш возраст менее 13 лет, настроить cookie-файлы должен ваш законный представитель. Больше информации
Комментарии 7
Причем скопированна с какого то древнего учебника. И откровенно - плохо скопированна. Ты даже адаптировать ее нормально не смог под эту версию бейсика
İnput тут не работает потому что он читает из консоли, т.е.из stdin. Нужно использовать функцию аналогичную scanf в С++. Но для этого нужно инициализировать консоль. Проще использовать поля ввода EditBox.
В общем у тебя должны быть две кнопки, да и нет. Первая выполнять код строки 130, а вторая 190.
При этом if вообще не нужен.
В общем всю программу нужно переписать полностью, учитывая особенности оконного интерфейса. Она у тебя рассчитана на консольную программу.
Как вариант, можешь сделать именно консольную программу, там она будет более уместно, хотя от goto все же лучше избавится
Все, что я сделал - заставил эту программу работать. А в оригинальном виде код не пошел бы, так как не интерпретировался бы.
Еще я добавил определения переменных, чтобы они не были типа Variant по умолчанию.
Поля ввода переменных добавлять не стал.