Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 1 из 1
  1. #1
    Аватар для Tracker1
    Проверенный

    Статус
    Оффлайн
    Регистрация
    30.07.2013
    Сообщений
    54
    Репутация:
    84 ±

    [Цикл уроков программиста] 6. Программа "Fahrenheit to Celsius"

    В данной статье мы продолжим знакомиться с C++. Так как мы пока ещё очень мало знаем о программировании, то примеров из компьютерных игр пока не будет. Вместо этого мы будем считать градусы, что тоже, согласитесь, неплохо.
    Добавление проекта в решение "solution"

    Для начала нам нужно создать ещё один проект. Откройте IDE и выберите решение solution. Выберите в меню File → New → Project (Файл → Создать → Проект) или на панели инструментов щёлкните кнопку New Project.

    В Project type должно быть выбрано Win32, в Templates - Win32 Console Application.

    В поле Name (имя) пишем Fahrenheit to Celsius, а в выпадающем списке Solution (решение) выберите Add to solution (Добавить к решению). Жмём OK.

    В появившемся помошнике жмём Next, а дальше для Application type (Тип приложения)выбираем Console application (Консольное приложение). В Addition options (Дополнительные свойства) ставим флажок напротив Empty project (Пустой проект). И нажимаем Finish.

    В обозревателе решений появился новый проект. Сейчас нам нужно добавить в него файл. Жмём CTRL+N, выбираем C++ File (.cpp) и нажимаем Open.

    В редакторе кода отобразится содержимое файла. Пока что тут пусто. В меню выбираем пункт File → Move Source1.cpp into -> 2. Fahrenheit to Celsius. В появившемся диалоговом окне Save file As в поле для имени впишите - main.cpp и нажмите Сохранить.
    Программа Fahrenheit to Celsius

    Программа сначала печатает значения по Фаренгейту для нуля и ста градусов Цельсия. Затем просит ввести пользователя значение температуры по Фаренгейту и переводит его в значение по Цельсию.

    Полный листинг программы можно найти в конце урока. Ниже в примере приводится фрагмент кода идущий сразу после директивы using namspace:
    PHP код:
    #define BOILING_POINT_F 212

    int main()
    {
      
    setlocale(LC_CTYPE,"Russian");
      const 
    int FREEZE_POINT_F 32;
      
    float fc;

      
    cout << "0 C = " << FREEZE_POINT_F << " F\n";
      
    cout << "100 C = " << BOILING_POINT_F << " F\n\n";

    cout << "Введите температуру по Фаренгейту: ";
    cin >> f;

    = (f-32)*5/9;
    cout << "Температура по Цельсию равна " << << "\n";

    _getch();
    return 
    0;

    Приступим к осмотру пациента. Прежде всего мы добавили ещё один заголовочный файл - clocale. Он нужен нам для того, чтобы использовать функцию setlocale() в программе, которая в свою очередь позволяет выводить текст в консоли на русском языке.
    Константы

    Константы - это какие-то величины, которые нельзя изменять. Например, число Pi = 3,14, является константой. В С++, если вам нужно какое-то значение, которое будет постоянным во время выполнения программы, его лучше сделать константным. Сделать это можно двумя способами. И оба два представлены в нашей программе.

    Первый. До определения функции main(), использовать директиву препроцессора #define:
    PHP код:
    #define BOILING_POINT_F 212 
    BOILING_POINT_F - это идентификатор (или имя) константы. Идентификатор позволяет использовать (ссылаться на) константу в программе. Этой константе пррисваивается значение 212.

    Второй (более предпочтительный) способ объявления констант. Использование ключевого слова const:
    PHP код:
    const int FREEZE_POINT_F 32
    FREEZE_POINT_F - это идентификатор (имя). Ключевое слово int - это тип данных. int от integer (целое число). Данной константе нельзя присвоить никаких данных, кроме целого числа.

    Например следующие примеры верны:
    PHP код:
    const int FREEZE_POINT_F 12;
    const 
    int FREEZE_POINT_F 0;
    const 
    int FREEZE_POINT_F 3282
    а вот эти, нет:
    PHP код:
    const int FREEZE_POINT_F 12.2// для использования этих значений поменяйте
    const int FREEZE_POINT_F 0.5;  // int на float или в последнем случае на
    const int FREEZE_POINT_F 'Я';  // char 
    Обратите внимание на отличие синтаксиса при использовании #define и const:
    #define расположена за пределами определения функции main(), а const внутри.
    После директивы #define нет точки с запятой, это обычно для директив препроцессора.
    В #define не используется оператор присваивания =, а идентификатор отделяется от значения пробелом, в отличии от const, где идентификатор и значение разделены этим знаком.
    И последнее: при использовании const обязательно нужно указывать какого типа константа (целое число - int, вещественное - float, строка текста).
    Поддержка русского языка

    В первой программе мы выводили текст на английском языке. Консольные приложения не поддерживают русский язык. И чтобы это исправить нам нужна функция setlocale():
    PHP код:
    setlocale(LC_CTYPE,"Russian"); 
    В этом операторе происходит вызов функции setlocale(). То что это функция, можно догадаться по скобкам. То что находится в скобках мы пока обсуждать не будем. Просто если хотите использовать в своих программах русский язык, добавтье заголовочный файл clocale с помощью директивы #include, а в теле main() вызовите функцию setlocale(LC_CTYPE,"Russian").
    Использование переменных

    С константами мы разобрались. Но что если нам нужно использовать величины, которые будут изменяться во время выполнения программы? Например, данные которые введёт пользователь? Для этого как раз и существуют переменные (variable - переменная). Значения переменных могут меняться во время выполнения программы

    Перед тем как использовать переменные, их нужно сначала: обьявить, определить, инициализировать.

    Обьявление и определение происходят в одной строке:
    PHP код:
    float fc
    Здесь мы обьявили и определили две вещественные (числа с десятичной запятой) переменные f - для температуры по Фаренгейту и c - Для температуры по Цельсию.

    При обьявлении переменной компилятор узнаёт о её существовании.
    При определении, операционная система (ОС) выделяет место в памяти для переменной.
    При инициализации, переменной присваивается начальное значение.
    Все три действия можно выполнить в одной строке, например:
    PHP код:
    int var = 0// целой переменной var присваивается ноль 
    Итак, чтобы создать переменную, нужно указать тип данных и идентификатор (имя). Разве это не просто?
    Стандартный ввод

    Следующий оператор, который мы пока не знаем:
    PHP код:
    cin >> f
    cin - обьект для работы с ввводом с клавиатуры. Операция >> - это операция извлечения. Она помещает в то что стоит справа, значение из левой своей части. То есть в переменную f будет помещено то, что содержится в cin. А содержаться в cin будет то, что пользователь введёт с клавиатуры во время работы программы.
    Использование переменных

    Следующий оператор довольно простой:
    PHP код:
    = (f-32)*5/9
    Здесь высчитываются градусы по Цельсию исходя из значения температуры по Фаренгейту. Операции разности, произведения, деления и скобок используются точно так же как и в математике. Знак равно = называется оператором присваивания. То что находится слева принимает значение того что находится справа. Т.е. переменной c присваивается значение выражения (f-32)*5/9.
    Каскадирование операции вставки <<

    И последний оператор, который мы обсудим:
    PHP код:
    cout << "Температура по Цельсию равна " << << "\n"
    Мы уже встречались и с обьектом cout и с операцией <<. Но здесь используется каскадирование операции вставка <<. Сначала в cout копируется константная строка, затем переменная c и затем ещё одна константая строка содержащая символ конца строки.
    Запуск программы
    Теперь давайте запустим программу. Нажимаем F7, а затем F5. Но у нас запустилась программа hello world. Закройте её. В обозревателе решений вызовите контекстное меню для Fahrenheit to Celsius (Щёлкните на названии проекта правой кнопкой мыши) и выберите Set As StartUp Project (Сделать проектом по умолчанию). Попробуйте снова запустить проект, на этот раз должно получиться.

    На этом всё.

    Упражнения:
    1. Измените программу так, чтобы она преобразовывала значения по Цельсию в градусы по Фаренгейту.
    Формула: f = c*9/5+32
    2. Добавьте к решению subscribe новый проект Area of a circle. Добавьте к проетку одноимённый файл. Напишите программу вычисляющую площадь окружности. Пользователь должен ввести радиус круга. Создайте константу PI = 3.1415 используя const. формула площади окружности: area = PI * rad * rad, где rad - радиус окружности.


    PHP код:
    // Программа Fahrenheit to Celsius

    #include <conio.h>
    #include <iostream>
    #include <clocale>

    using namespace std;

    #define BOILING_POINT_F 212

    int main()
    {
       
    setlocale(LC_CTYPE,"Russian");
       const 
    int FREEZE_POINT_F 32;
       
    float fc;

       
    cout << "0 C = " << FREEZE_POINT_F << " F\n";
       
    cout << "100 C = " << BOILING_POINT_F << " F\n\n";

       
    cout << "Введите температуру по Фаренгейту: ";
       
    cin >> f;
       
    = (f-32)*5/9;
       
    cout << "Температура по Цельсию равна " << << "\n";

       
    _getch();
       return 
    0;


  2. 2 пользователя(ей) сказали cпасибо:
    vovandolg (15.10.2016) [ForD] (25.12.2013)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •