Отлично. Только чо-то я не понял, как их в ехе комплимировать. Респект Абадяберу, отличные проги
|
Отлично. Только чо-то я не понял, как их в ехе комплимировать. Респект Абадяберу, отличные проги
Кстати...
Кто сказал удастся избежать расплаты???
Смотри, теперь адской расправы удается избежать, просто введя 0, или отрицательное число. Можно переписать программу таким образом:
Код qbasic:[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] "Как вас зовут? ", [Ссылки могут видеть только зарегистрированные пользователи. ]$ [Ссылки могут видеть только зарегистрированные пользователи. ] "Гори еретик "; [Ссылки могут видеть только зарегистрированные пользователи. ]$; " ! " [Ссылки могут видеть только зарегистрированные пользователи. ] "Вы с этим согласны? 1-ДА 2-НЕТ"; Verno SELECT CASE Verno CASE 1 [Ссылки могут видеть только зарегистрированные пользователи. ] "Адское пламя святой инквизиции вылетит из экрана через 5 минут. Мне очень жаль. Прощайте" CASE 2 [Ссылки могут видеть только зарегистрированные пользователи. ] "Ответ неудовлетворительный. " [Ссылки могут видеть только зарегистрированные пользователи. ] "Ах да, чуть не забыл: Вы сгорите через 5 минут. Прощайте" CASE ELSE [Ссылки могут видеть только зарегистрированные пользователи. ] "За нарушение правил игры, вы сгорите в огне инквизиции. Жизнь за Нэрзулла! Прощайте." [Ссылки могут видеть только зарегистрированные пользователи. ] SELECT
Конструкция Select Case намного удобнее в данном случае, плюс - намного более читабельно, и адской расправы избежать не удастся просто так ;)))
Действительно, не плохо
А можно поподробнее о кейсах?
Вообще о ней написано на этом сайте по ссылке
[Ссылки могут видеть только зарегистрированные пользователи. ]
Но, увы, даже я сходу не могу вынести оттуда смысл.
Поэтому, приведу пример. Надеюсь, администратор не будет против небольшого просветительного оффтопа ;)
Вообще, конструкция Select Case специально рассчитана для того, чтобы удобно производить ветвление, с большим количеством вариантов.
Понимаю, пример не самый удачный, но надеюсь, что он что либо прояснит.
Код qbasic:[Ссылки могут видеть только зарегистрированные пользователи. ] Result [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] "Бросаем игральную кость" [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] Result = [Ссылки могут видеть только зарегистрированные пользователи. ]([Ссылки могут видеть только зарегистрированные пользователи. ] * 6) + 1 SELECT CASE Result CASE 1 [Ссылки могут видеть только зарегистрированные пользователи. ] "Выпала единица" CASE 2 [Ссылки могут видеть только зарегистрированные пользователи. ] "Выпало два" CASE 3 [Ссылки могут видеть только зарегистрированные пользователи. ] "Выпало три" CASE 4 [Ссылки могут видеть только зарегистрированные пользователи. ] "Выпало четыре" CASE 5 [Ссылки могут видеть только зарегистрированные пользователи. ] "Выпало пять" CASE 6 [Ссылки могут видеть только зарегистрированные пользователи. ] "Выпало шесть" CASE ELSE [Ссылки могут видеть только зарегистрированные пользователи. ] "А это что еще за беспредел???" [Ссылки могут видеть только зарегистрированные пользователи. ] SELECT SELECT CASE Result CASE [Ссылки могут видеть только зарегистрированные пользователи. ] > 3 [Ссылки могут видеть только зарегистрированные пользователи. ] "Не плохо!" CASE [Ссылки могут видеть только зарегистрированные пользователи. ] < 4 [Ссылки могут видеть только зарегистрированные пользователи. ] "Маловато как то..." [Ссылки могут видеть только зарегистрированные пользователи. ] SELECT
В этом примере с помощью конструкции Select Case мы воводим полученный результат словами, а не цифрами (как было бы, если бы мы написали что либо вроде Print "Вы выбросили"; Result; "очков")
После Select Case пишется название той переменной, значение которой будет оцениваться, в нашем случае это переменная Result. (Переменная может быть также и строковой)
Потом с помощью Case перечисляются варианты значения анализируемой переменной (в нашем случае - это все возможные значения выброшенных очков), при которых необходимо сделать соответствующие действия.
Если мы хотим сделать какие либо действия, когда анализируемая переменная принимает значение, которое мы не ждем, то мы пишем Case Else а потом уже, то, что хотим выполнить в данном случае. В этом примере, если переменная Result вдруг примет значение допустим, 8, или 100500, то программа крепко удивится.
Во второй конструкции используется условие, вместо переменной. В частности, если переменная Result имеет значение больше чем 3, то нас хвалят за хороший результат, иначе - говорят, что можно было бы и лучше :P
Кстати, совсем забыл еще и об использовании Case с вариантом To. Он указывает на диапазон значений переменной, при которых стоит выполнить определенные действия. Например, в данном случае, если мы ввели число в строку, программа обнаружит его.
Dim Char As String * 1 (Объявляем строку длиной в 1 символ)
Input Char
Select Case Asc(Char)
Case 48 To 57
Print "Введено число"
End Select
Кстати, это все писал по памяти, поэтому гарантировать рабочесть не могу - но суть такова ;)
Спасибо Большое
Насчёт кейса: показал свою прогу училке информатики, у неё аш глаза на лоб полезли
И не от того, что мы ещё не программируем в школе, просто о кейсах не слышала
Я когда учился в школе - мне было стыдно за нашего учителя информатики, все, что она умела - это запускать игрушки и Windows 3.1. :)
Нуу... Тебе сколько лет было? И это было в каком году? Просто интересно
Я в 8 классе
« Предыдущая тема | Следующая тема » |
Информация о теме |
Пользователи, просматривающие эту темуЭту тему просматривают: 1 (пользователей: 0 , гостей: 1) |