Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Туториал Изучаем С++ урок 1, 2 (Windows)

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем Andrew S., 7 дек 2013.

  1. Автор темы
    Andrew S.

    Andrew S. Активный участник Пользователь

    Баллы:
    93
    Имя в Minecraft:
    Santa2012
    Всем привет, дорогие пользователи рубаккита!
    В этой теме мы будем изучать C++/C вместе!
    Если вам что-то не понятно пишите сюда, я помогу.​

    УРОК 1
    Итак приступим, что нам понадобиться:
    - Программа CodeBlocks (ТЫК) скачиваем вот это: codeblocks-12.11mingw-setup.exe
    [​IMG]


    Настройка программы:
    1) Устанавливаем программу и запускаем ее!
    2) Переходим в вкладку Setting - Compiler и выбираем GNU GCC Compiler, там-же переходим в вкладку: Toolchain executables и жмем Auto-detect. Нажимаем OK.
    [​IMG]


    Пишем первую программу:
    1) Создаем новый проект: File - New - Project - Console application, убираем галочку из Skip this page next time и жмем Next, пишем название проекта и выбираем Compiler - GNU GCC Compiler и жмем Finish!
    2) И у нас появилась вот такая программа:

    Код:
    #include <iostream>
    using namespace std;
    int main()
    {
        cout << "Hello world!" << endl;
        return 0;
    }
    
    Давайте попробуем ее запустить, нажмите на вот эту кнопку в программе: [​IMG]
    Все!!! Программа запустилась и мы видим в консоле пишет: Hello World!

    3) Русификация программы, если вы попытаетесь написать вместо "Hello World", например "Привет, мир", то после запуска вы увидите не понятные символы, дабы избежать этого, нужно русифицировать программу, для этого:
    • Добавляем инклуд для русификации - #include <locale.h>
    • После int main() { пишем setlocale(LC_CTYPE,"Russian");
    И нас выходит такая программа:

    Код:
    #include <iostream>
    #include <locale.h>
    using namespace std;
    
    int main()
    {
        setlocale(LC_CTYPE,"Russian");
        cout << "Hello world!" << endl;
        return 0;
    }
    
    Запускаем и радуемся русскими буквами :)

    4) Комментарии в C++. В программе можно сделать комментарии, это такой текст, который не видит компьютер, а видит человек, который пишет программу.
    Это используется например для объяснение чего-либо.

    В C++ комментарии пишут вот так: /* Это комментарий */
    Вот например:
    Код:
    #include <locale.h> /* Русификатор */
    5) Итак, давайте разберем нашу программу!
    Первая строка - #include <iostream> это заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++.
    Здесь хранятся разные функции, например такие как ввод и вывод текста.

    Вторая строка - #include <locale.h> это как-бы русификатор программы.

    Третья строка - using namespace std; это нужно для упрощенного способа ввода и вывода, чтоб не писать вот так: std::cout , мы просто пишем так: cout.

    Четвертая строка - int main() это уже наша программа!
    Любая программа на C++ должна содержать функцию main(), которая является точкой входа в программу.
    Функцию main() нельзя предопределять и/или перегружать. Ее нельзя вызывать из программы.

    Дальше идут скобки, они открывают и закрывают функцию.

    Шестая строка - setlocale(LC_CTYPE,"Russian"); указание кодировки в программе.

    Седьмая строка - cout << "Hello world!" << endl; это уже вывод текста!
    Давайте рассмотрим эту строку поподробней!

    Функция cout - нужна для вывода текста в C++, дальше идут << они указываются перед текстом.

    Вот можно написать еще так - cout << "text 1" << "text 2";

    Hello world мы взяли в лапки, потому что это текст, если бы это была переменная, мы бы записали так: cout << a;

    И напоследок endl это переход на новую строку, можно записать еще так: \n.

    Восьмая строка это return 0; - возвращает в операционную систему 0, то есть нормальное завершение программы.

    На этом наш первый урок закончен! Всем спасибо и ждите второй урок :)
    P.S если здесь будет 50 лайков - сниму видео!

    СПИСОК УРОКОВ:
    Урок 1
    Урок 2

    _______________________________________________
    СПИСОК ГОТОВЫХ ПРОГРАММ C++ (ПРАКТИКА)
     
    Последнее редактирование: 12 дек 2013
    MineMan910, theYURIK101, Аравир и 13 другим нравится это.
  2. Хостинг MineCraft
    <
  3. DragonX

    DragonX Старожил Пользователь

    Баллы:
    173
    Skype:
    dx3756
    Имя в Minecraft:
    DragonX256
    Вот бы все уроки по программированию были такими же простыми, как ваш. :)
     
    Andrew S. и Hephest нравится это.
  4. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    А я сижу под eclipse на centos, мне норм. Мне бы купить Книжку о C++11.
     
  5. Mefodii

    Mefodii Старожил Пользователь

    Баллы:
    153
    Skype:
    Dark_Mefodii1
    Имя в Minecraft:
    Mefodii
    а C++ builder не канает? Сейчас он лучше чем на скрине
    [​IMG]
     
  6. volkovsema

    volkovsema Активный участник Пользователь

    Баллы:
    88
    Я на интуите курс для школоло прохожу
     
  7. Ausio

    Ausio Участник

    Баллы:
    33
    Имя в Minecraft:
    SankTa
    книжку в библиотеке возьмите по с++ и всего лишь)
     
    RVXman, DragonX и Arkanito нравится это.
  8. Автор темы
    Andrew S.

    Andrew S. Активный участник Пользователь

    Баллы:
    93
    Имя в Minecraft:
    Santa2012
    УРОК 2

    В этом уроке мы будем изучать переменные и тип int.
    1)
    Кратко о переменных!
    Основные типы:
    Bool — логический тип данных, принимает значения только true (еденица, истина) или false (ноль, ложь).

    2) Изучаем ввод текста из клавиатуры.
    Все мы знаем, что-бы вывести текст на экран, нужно использовать код: cout.
    А теперь, что-бы ввести код с клавиатуры, нужно использовать код: cin.

    3) Пишем простенький калькулятор.
    Объявляем инклуды:
    Код:
    #include <stdio.h> /* Стандартный заголовочный файл ввода-вывода */
    #include <iostream> /* Библиотека*/
    #include <locale.h> /* Русификатор */
    using namespace std;
    Задаем переменные:
    Код:
    int a, b;
    Дописываем сообщение и вывод:
    Код:
        cout << "Приветствуем вас в моем первом калькуляторе! (он только додает числа) \n";
        cout << "Введите число 1: ";
        cin >> a;
        cout << "Введите число 2: ";
        cin >> b;
        cout << "Сумма чисел: " << a+b << " ";
    Последняя строка: cout << "Сумма чисел: " << a+b << " "; , точнее вторая часть: a+b, задает функцию добавление, также можно написать минус (-), умножение (*) и деление (%).

    Все :) Программа работает.

    4) Так-же можно объявить переменные вручную:
    Код:
    int x;
    Х = 8;
    int у;
    у = 3;
    x, у нас переменные.

    5) Как найти программу в .exe формате?
    Зайдите в директорию проектов, выберите папку с названием проекта, потом bin - Debug и там будет программа в .exe формате, ура :)

    Но, если вы запустите программу, после выполнение она у вас сразу закроется.
    И прежде чем закончить урок, я хочу рассказать, как сделать, чтоб экран окна не закрывался.
    Первым делом нужно задать инкуд:
    Код:
    #include <windows.h>
    А в самом теле программы:
    Код:
    system("Pause");
    ПРИМЕР программы:
    Код:
    #include <stdio.h>
    #include <iostream>
    #include <locale.h>
    #include <windows.h>
    using namespace std;
    
    int main()
    {
        setlocale(LC_CTYPE,"Russian");
        ТЕЛО ПРОГРАММЫ
        system("Pause");
        return 0;
    }
    
    На этом второй урок закончен ;)
    _______________________________________________________
    P.S заметка к первому уроку:
    В C++ существует два способа записи комментариев:
    • Две косые черты //- однострочный комментарий. Такие комментарии комментируют всю строчку, не более и не менее.
    • Многострочный комментарий. Такой комментарий начинается с символов /* и заканчивается символами */.
     
    Последнее редактирование: 12 дек 2013
    kaban1997, FirePoint, second_vynder и 5 другим нравится это.
  9. kaban1997

    kaban1997 Старожил Переводчик Пользователь

    Баллы:
    173
    Туторы хорошие, но неплохо было бы добавлять:
    1.После примера программы - что будет в консоли,типо:
    Код:
    #include <stdio.h>
    #include <iostream>
    #include <locale.h>
    #include <windows.h>
    using namespace std;
    
    int main()
    {
        setlocale(LC_CTYPE,"Russian");
        cout << "6+2" << 6+2 <<endl;
        system("pause");
        return 0;
    }
    Будет выведено: 8
    2.Расшифровка слов, таких как cout(ConsoleOutput),endl(EndLine),cin(ConsoleInput) и т.п.
    3.Как подключать стороние библиотеки(именно отдельные,например pthread) к проекту, и использовать их.
    4.Больше сравнений с java кодом(Многие слегка знают java,и им будет легче)

    P.S.Добавь в тутор что С++ не чувствителен к регистру.
     
  10. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    system("pause") - убей кроссплатформенность!
     
  11. kaban1997

    kaban1997 Старожил Переводчик Пользователь

    Баллы:
    173
    Мало кому, сидящих здесь, нужна кроссплатформенность.
     
  12. Аравир

    Аравир Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Aravir
    Sleep(10000);
    Не пойдёт на юниксах?
     
    ПриветОтЛайки нравится это.
  13. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Вот так вот можно:
    cin.get();
    cin.get();
     
    ПриветОтЛайки нравится это.
  14. Racvol

    Racvol Старожил Пользователь

    Баллы:
    123
    Тебе бы с начало самому подучиться.

    А если я покажу рабочую программу на С++ в которой нет этой функции?

    Неправильно, макрос LC_CTYPE изменяет характер работы символьных функций. В нашем случае он изменил кодировку в стандартном потоке вывода (класс std::cout) c utf8 на cp866

    Что за хрень ты несеш.
    1)
    cout это не функция, это класс.
    2)
    Это операция бинарного сдвига которая переопределена в классе std::cout, это можно сравнить с конкатенацией строк там операция сложения тоже переопределена std::string str1 = "1"; std::string str2 = "2" ; std::string str = str1 + str2; // в str содержится "12"
    3)
    cout сожрет не любую переменную а только ту в которой переопределен бинарный сдвиг с классом std::cout
     
    Последнее редактирование: 19 дек 2013
  15. Larin

    Larin Старожил Пользователь

    Баллы:
    103
    Racvol, ну для школьников же.
     
  16. Автор темы
    Andrew S.

    Andrew S. Активный участник Пользователь

    Баллы:
    93
    Имя в Minecraft:
    Santa2012
    омг, я же проще объясняю, новички захотят выучить программирования и ничего не поймут, а это НЕ хорошо.
     
    Сникерсни нравится это.
  17. Mefodii

    Mefodii Старожил Пользователь

    Баллы:
    153
    Skype:
    Dark_Mefodii1
    Имя в Minecraft:
    Mefodii
    Нехорошо обманывать бабушек и налогоплательщиков, а то, что школьники неправильно основы выучат - на твоей совести будет!
     
  18. Аравир

    Аравир Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Aravir
    Ребята, не будем выяснять "что такое хорошо, а что такое плохо". У каждого своё мнение.
    Я недавно сам начал учить с++. Простое консольное приложение на уровне школьного Паскаля сделать могу. ТС, надеюсь, ты этим не ограничишься? Я хотел бы увидеть как вставить изображение, заставить его двигаться и реагировать на касания с другими изображениями. (2д игра получается)
     
  19. Racvol

    Racvol Старожил Пользователь

    Баллы:
    123
    ТС это не осилит
     
  20. Xssnick

    Xssnick Старожил Пользователь

    Баллы:
    103
    Oxygine, SDL

    Habrahabr урок(SDL)
     
    Аравир нравится это.

Поделиться этой страницей