Школа создателей компьютерных игр

BannerDrive.ru
[Главная] [С чего начать?] [Дистанционное обучение] [Статьи] [Обучалки] [Книги] [Софт] [Форум] [Ссылки] [О сайте]

Оператор If



Подпишитесь на рассылку "Создание компьютерных игр"

Рассылки Subscribe.Ru
Создание компьютерных игр

Рассылка выходит раз в месяц.


Понравился сайт? Узнайте, как помочь сайту.


Рекомендуемые книги


Андре Ламот.
Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации


Андре Ламот.
Программирование игр для Windows. Советы профессионала


Проголосуйте за сайт в рейтинге GameTop!
(нажмите на кнопку рейтинга)

GameTop - рейтинг игровых ресурсов. Портал Rolemancer (www.rolemancer.ru)

Не забывайте, что результаты рейтинга обновляются раз в неделю. Пожалуйста, голосуйте почаще!


Статистика посещаемости

Rambler's Top100

Цикл Do While | Все обучалки раздела | Оператор Switch

Описание

Объясняется, что такое оператор If, и как его использовать для принятия решений в программах.

Программа запрашивает возраст пользователя, и, в зависимости от введенного числа, отображает различные сообщения.

Скачать обучалку (Visual C++ 6)

Работа программы

Исходный код



//            - "Talk to me like I'm a 3 year old!" Programming Lessons -  
//
//            $Author:            Ben Humphrey      digiben@gametutorials.com 
//                                                                            
//            $Program:            Questions
//                                          
//            $Description:      Asks/Answers questions using if/else statements.
//
//            $Date:                  5/18/00  
//                                             

// Перевод © 2004 Евгений Казеко
// www.gamecoder.kazeko.com
// evgeniy@kazeko.com

#include <stdio.h>   // Необходимо включить этот файл для использования некоторых функций

void main()     // Начало нашей программы
{                      // Начало функции main
      int age=0;   // Инициализация целочисленной переменной для возраста

      printf("How old are you? ");                  
     // Печать на экран вопроса о возрасте пользователя
     // "Сколько вам лет?"

      scanf("%d", &age);                                    
      // Чтение ответа после того, как пользователь нажмет enter.
      // Вы видите символ "&" перед переменной.
      // Здесь у многих начинающих программистов возникают сложности.
      // scanf() это функция, которая берет 2 параметра.
      // Первый - это формат ввода пользователя... число, символ или строка символов.
      // Второй - переменная, в которой сохраняется все, что введет пользователь.
      // Именно в этом месте начинаются сложности.
      // Если вы передаете в функцию переменную, и функция ИЗМЕНЯЕТ ее, то
      // когда функция завершается, переменная НЕ ИЗМЕНИТСЯ, если функция не
      // получит адреса переменной в памяти. Вы даете функции адрес в памяти, 
      // помещая впереди переменной символ "&". Если этого не сделать, 
      // программа зависнет после ввода возраста.
      // Это ОГРОМНАЯ область, которая будет подробно обсуждаться позже.
      // Следует знать, что когда что-либо передается в функцию, то функция
      // делает собственную локальную копию этого. Если вы хотите, чтобы
      // функция изменила то, что передается, вы должны использовать &.
      // Если вы не понимаете всего этого - не беспокойтесь.  
      // Все это будет объясняться позже, когда мы начнем использование
      // функций и указателей.

      // А сейчас, приготовьтесь к использованию IF и ELSE! 
      if (age > 20)   // Это выражение IF (если).  Оно означает:
      {                         // "  ЕСЛИ age больше 20 "     
            printf("You're over 20 huh?\n");   // Напечатать это сообщение ("Вам больше 20-ти?")
      } // Конец выражения if

      if (age > 30)   // Здесь проверяется является ли введенный возраст больше 30
            printf("You're over 30!?\n");  // Напечатать это сообщение ("Вам больше 30!?")

           // Вы наверное заметили, что в выражении выше не было скобок "{" "}".
           // Необязательно использовать скобки, если после условия стоит
           // единственная строка кода - это верно для циклов while, for,
           // или выражения if/else.... Но их использование является хорошей
           // привычкой и облегчает чтение программы. Возможно, позже вы захотите
           // что-то добавить в ваши циклы или выражения, поэтому вы можете заранее
           // поставить их.
     
           // Если пользователь ввел возраст 35, программа напечатает оба сообщения.
           // Но если было введено например 25, напечатается только первое.

      if (age < 20) {   // Еще один стиль программирования.-. написание "{" сразу после условия.
            printf("You're a young'n!\n");    
      }                                                            
     // На работу программы это не влияет. Некоторые языки требуют этого, 
     // но C/C++ очень гибкий язык. Можно даже написать:
     // "      if(age < 20) printf("You're a young'n!\n"); " и это будет работать.
     // Однако очень важно использовать ";".  Они дают компилятору понять
     // где начинается следующее выражение. Можно написать так:
     // "      age++; age--; age = age; "
     // Эти строки прибавляют 1 к age, отнимают 1 от age, затем
     // присваивают значение age переменной age...

      if (age < 20 && age > 12)               // Здесь кое-что новое.  Символ "&&" означает "и".
      {                                                            // Выражение означает "if ( age меньше 20 И больше 12) "
            printf("Being in your teens can tough...\n");
      }                                                            // Печать сообщения 

      // Вы часто будете использовать такие выражения. Также имеются:
      // "!=" - НЕ РАВНО   и  "||" - ИЛИ
      // Можно проверить, истинно ли хотя бы одно из выражений, используя
      // "||" - оператор ИЛИ.

      if (age == 100)                                          // Здесь проверяется условие "age равно 100".
                                                                  // Это отличается от записи "age = 100" 
            printf("WOW!  What's your secret!?\n");
            // "age == 100" проверяет, равно ли значение age 100, 
            // в то время как "age = 100" присваивает значение 100 переменной age.

      if (age > 50)      // Еще один пример использования выражения IF.
            printf("Life after 50 can be great!\n");
      else                     // Если age не больше 50, напечатать другое выражение (ниже)
            printf("You've still got a LONG way to go...\n");

      
      // Выражения IF/ELSE записываются так.
      // "      if( (Выражение истинно) )                           
      // "            (выполнить 1)                                 
      // "      else                                                
      // "            (выполнить2 вместо 1)                         

      // Вам наверное интересно узнать об отступах в условных выражениях.
      // Они нужны для улучшения читаемости кода. 
      // Если вы хотите, чтобы вам помогали с вашей программой, вам необходимо комментировать
      // и форматировать текст вашей программы, иначе никто не захочет даже попробовать.
      // Помните, вы можете и наверное должны использовать { } 

      //            if (условие истинно) 
      //            {
      //                  (выполнить это)
      //            }
      //            else
      //            {
      //                  (выполнить это вместо того)
      //            }

      // Так гораздо легче понять программу, даже если у вас всего одна строка кода в этом выражении.


}  // Конец функции main и программы

// © 2001 GameTutorials
// Перевод © 2004 Евгений Казеко
// www.gamecoder.kazeko.com
// evgeniy@kazeko.com 

Скачать обучалку (Visual C++ 6)

Цикл Do While | Все обучалки раздела | Оператор Switch

[Главная] [С чего начать?] [Дистанционное обучение] [Статьи] [Обучалки] [Книги] [Софт] [Форум] [Ссылки] [О сайте]

Copyright © 2003-2005 Евгений Казеко. Все права защищены. E-mail: evgeniy@kazeko.com

офисные кресла петербург; Свадебный декор, аксессуары. Лепестки роз. Свадебный декор, лучшие специалисты.; тема про быстровозводимые модульные здания