Пятница, 29.03.2024, 03:56
Discovery
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Форма входа
Категории раздела
PHP [1]
Уроки по PHP для начинающих
C++ [18]
Статьи посвященные С++
XML [2]
Статьи по XML
Математика программистам [0]
Нужна ли программистам математика? Да вроде и не нужна... Или все же нужна? И если да то в каком объеме? Давайте попробуем разобраться в этом вместе!
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
     Каталог статей
    -->
    Главная » Статьи » Программирование » C++

    С++ по-русски
     

    C ++ по-русски

       Для начала давайте немного изменим нашу программу: (исходный код измененной программы внизу).
    #include <iostream>
    using namespace std;

    int main()
    {
    cout << "Привет, Мир!";   

    cin.get( );

    return 0;
    }
       Всего вероятней откроется черное окно MS DOS, которое иногда называют консолью, и то что будет в нем отображаться программисты иногда называют «мусором». И так в чем суть вопроса… Дело в том, что все данные в компьютере представлены с помощью нулей и единиц. Самой наименьшей единицей информации является бит. Это наш ноль или единица. Но так как с помощью одного бита ничего в компьютере не сделаешь, минимальной единицей информации с которой компьютер имеет дело, является байт. Один байт равен восьми битам. Всего с помощью одного байта можно создать 256 комбинаций. Это от 00000000 до 11111111. Одни символ кодируется с помощью одного байта. В результате у каждой буквы имеется свой код, который закреплен за ней определенным стандартом. Его еще называют кодовой страницей или кодировкой. За управляющими символами (символ начала новой строки, табуляции и др.) а так же символами латинского алфавита закреплены коды с 0 по 127, все остальные отданы для языков использующих алфавит отличный от латинского алфавита.
       И здесь начинается самое интересное… В России существует целых пять кодировок. Самое интересное, что в этом есть часть «вины» самой Microsoft, которая сначала создала кодировку для MS DOS, а затем еще одну для операционных систем семейства Windows. В результате получилось, что одна кодировка CP866 используется для MS DOS, а другая Windows – 1251 для самой операционной системы. А так как многие даже и не подозревают о существовании консоли, то как говориться спасение утопающих дело рук самих утопающих. Чем мы сейчас и займемся…

    Решение проблемы

          Однажды, в одной из книг по C++ я прочитал следующий совет, как решить эту проблему... Писать все на английском языке, т. к. первые 128 символов в любой русской кодировке одинаковы. Но я думаю, что выражу мнение большинства, если скажу, что это все ровно, что посоветовать поехать из Москвы в Санкт-Петербург через Северный полюс (Хотя если вы в дальнейшем решите стать профессиональным программистом, знание английского языка вам очень сильно пригодится). Другой вариант, это писать программы для Windows. Но это все ровно, что сесть за штурвал современного истребителя. Посидеть в кабине можно, а вот взлететь вряд ли получиться.
       Теперь менее экзотические решения… Если вы установили, как я вам и советовал Dev-C++ 4.9.9.2, то самый простой способ, это перейти по ссылке на сайт http://kpolyakov.narod.ru/school/c/faq.htm. Достаточно будет установить две дополнительных программы и вы можете надолго забыть об этой проблеме.
       Способ номер два… Это широко известная функция rus. На одном из форумов по программированию этому посвящена целая тема. Кому интересно могут перейти по ссылке: http://www.cyberforum.ru/cpp-beginners/thread10662.html. Вот как будет выглядеть наша программа с функцией rus.
    #include <iostream>
    #include <windows.h>
    using namespace std;

    char* Rus(const char* text);

    int main( )
    {
    cout << Rus("Привет, Мир!");
    cin.get( );
    return 0;
    }

    char bufRus[256];
    char* Rus(const char* text)
    {
    CharToOem(text, bufRus);
    return bufRus;
    }
       И наконец третий способ. Он немного нетрадиционный, но если у вас установлен не Dev-C++ 4.9.9.2, а другой компилятор, то он будет работать. Хотя и не совсем так, как нам бы этого хотелось. Если у вас установлен Adobe Dreamveawer CS3, вы можете выбрать Edit – Preferences – New Document. В появившемся окне в списке Default encoding выберите Кириллица(DOS), затем создайте новый документ. Напишите вашу программу, и сохраните ее с расширением .cpp (Не забудьте сначала удалить все что редактор создаст в новом документе. Иначе компилятор выведет сообщение об ошибке). Теперь когда вы откроете его в вашем компиляторе, то вместо русских букв вы увидите «кроказябры», но в исполняемой программе все будет по-русски (Кстати, этот способ подойдет для написания практически любой программы, которая будет работать с консолью. Например его можно использовать, если вы вдруг захотите изучить Perl и будете писать программы с помощью ActivePerl.

    Несколько советов, перед тем, как двигаться дальше

       Перед тем, как мы перейдем к изучению основ С++, я хотел бы дать вам несколько советов. Надеюсь они вам помогут.
       Совет первый: не бойтесь экспериментировать. Иногда бывает очень полезно, написать свою программу взяв чужую за образец. Программирование – это искусство, овладеть которым можно лишь создавая что-то свое. И пускай эти программы не будут иметь практического применения. Чем больше вы напишете собственных программ, тем больше вы почерпнете для себя, когда будете общаться с людьми хорошо разбирающимися в С++.
       Совет второй: пишите заметки… Это очень сильно помогает, т. к. приучает мыслить логически, и разбираться в деталях. Вы можете вести дневник, заметки или как-то иначе записывать те мысли, которые возникли у вас в результате изучения С++, но поверьте, это сильно помогает в дальнейшем.
       И наконец, совет третий: комментируйте вашу программу. В С++ есть специальные символы, которые используются для того, чтоб сообщить компилятору, что все что написано после них предназначено не для компилятора. Это два слэша подряд // или /* */. Разница между этими двумя видами комментариев, в том, что первый однострочный (т. е. будет действовать до конца строки, а второй многострочный. Т. е. если компилятор встретит в коде символы /* все что после них, он будет считать комментарием, пока не встретит символы */). Для чего они нужны? Пока наша программа маленькая, и ничего особенного не делает, в ней не трудно разобраться. Но чем сложнее программа, тем труднее бывает разобраться в принципе ее работы некоторое время спустя. В моей жизни был случай, когда решив с экономить на комментариях, я написал программу без них. Когда написание программы подходило к концу, я обнаружил, что она работает не так, как я ожидал. Но к тому времени мне уже было трудно разобраться в логике ее работы без комментариев. И тогда мне не оставалось ничего другого, как переписывать программу комментируя ее код. После этого ошибка была найдена, и программа заработала, так как я и хотел.
       Если у вас возникнут вопросы по поводу этой статьи, вы можете оставить к ней свои комментарии. Я с удовольствием на них отвечу.
    Категория: C++ | Добавил: stranger140569 (17.05.2011)
    Просмотров: 4964 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz