По поводу использования русских букв в C/C++
Только что, то есть 1 января 2002 года примерно в 18 час 48 минут я получил второе письмо от того же автора на затронутую мною на уроке 9 тему. Оба письма написаны Mike Koshelev'ым. Я опробовал рекомендации Mike Koshelev'a. Помещаю здесь результаты этого опробования. Ниже на рисунках Вы можете сами все увидеть, как оно будет, если придерживаться методики Mike. Сегодня я хочу дать Вам материалы опробования, провести анализа и сделать некоторые выводы по результатам этого анализа. Прежде всего познакомимся с упомянутыми письмами.
Вот первое письмо от 31 декабря 2001 года.
Письмо было получено от Mike Koshelev'a так кстати. Большое ему за это СПАСИБО !!!
Hello Юрий,
Русские буквы в окне редактора фиксятся очень просто -
Options->Environment->Editor->Display поле Font заменить на
Courier New Cyr. Удобно писать комментарии на русском. А вот как
сделать консольный вывод в нормальной кодировке и чтобы в редакторе
наблюдать нормальные сообщения я не знаю. Поэтому комментарии пишу
на русском а сообщения на английском.
Asta la vista, Mike
Вызовем вначале программу Borland C/C++ 5.2. Далее войдем в раздел "Option" во второй строке программы - в строке меню команд. Откроется ниспадающее меню (окно) программы. Выберем в нем строку "Environment" и щелкнем по ней дважды левой кнопкой манипулятора "мышь". Все вышесказанное показано ниже на рисунке.
Перед нами откроется окно "Environment Option".
Выберем в левой части окна строку "Editor", помеченную плюсом, и
щелкнем по ней дважды левой кнопкой мыши. Плюсик заменится на минус
и перед нами предстанет детальное содержание строки "Editor".
Выберем далее в детализированом списке, полученном
из строки "Editor", строку "Display" и щелкнем по ней, как прежде,
левой кнопкой мыши. Получим окно, в котором будем переустанавливать
наименование шрифта со знаками кириллицы. Ниже на рисунке показано
это окно.
В правой части окна выберем FONT и, щелкнув по
треугольнику, обращенному острием вниз, найдем наименование
переустанавливаемого нами шрифта Courier New Cyr и переустановим
новый шрифт.
Это позволит нам иметь русские буквы в двойных
кавычках в протоколе трансляции ( в тексте нашей программы в окне
компилятора Borland C/C++ 5.2).
Далее выполним решение по программе, полученной
после выполнения трансляции. В этой программе на этапе трансляции
присутствовали буквы русского алфавита. Но они исчезли в полученном
решении, что подтверждают приведенные ниже рисунки.
Русские буквы желательно иметь на
всех этапах работы в С/C++. Однако, как показывает проверка,
методика Mike этого не обеспечивает. По моему разумению самое
главное, чтобы они, то есть русские буквы, присутствовали на этапе
решения задачи. Но они или выдаются в протоколе трансляции, и тогда
их нет в самом решении, или их нет в протоколе трансляции, но зато
они есть в распечатке ( или вернее в окне решения задачи ), что
важнее, как мне кажется, не так ли?
Вначале я
обрадовался, когда получил русские буквы в протоколе трансляции моей
учебной программы, предназначенной для испытания наличия русских
букв. Потом я с превеликим огорчением обнаружил, что в этом случае
после трансляции русские буквы не просматриваются в окне процесса
решения задачи. Вот как обстоит дело.
Так что
методика руссификации, которой пользуется Mike, вполне приемлема, но
она, к сожалению, не дает все же полной возможности использовать
русские буквы на всех этапах работы в языке С/C++. Аналогично и та
методика, о которой рассказывалось на предыдущем уроке 9, тоже не
дает русских букв на всех этапах работы с транслятором. Но самое
главное, что она дает их в решении задачи. А это куда важнее. То
есть это самое главное для тех пользователей, которые работают с
русским алфавитом, как, например, мы - входящие в постсоветское
пространство СНГ.
Итак, подведем итог нашим
исследованиям. Как следует из проведенного эксперимента, согласно
полученным от Mike рекомендациям, в самом решении нет русских
букв... Пожалуйста, проделайте все это сами, и тогда Вы еще лучше
поймете наши выводы. Если кто-то из учеников знает, как сделать
полную руссификацию транслятора Borland C/C++ 5.2, то есть чтобы
одновременно и протокол трансляции, и решение задачи после
трансляции отображались русскими буквами, прошу поделиться этими
знаниями со всеми слушателями и читателями моих уроков. Пока же
предложенное Mike решение пригодно и может быть использовано, но оно
все же не решает проблему русских букв на всех этапах работы в языке
С/C++. Так что мои рекомендации остаются, как я полагаю, в силе.
Ниже я привожу второе письмо Mike Koshelev'a, в
котором он разъясняет свою позицию и приводит свои аргументы "за" и
"против" по данному вопросу.
Hello Юрий!
Tuesday, January 01, 2002, 6:48:11 PM.
Как я и писал данный способ работает только в окне редактора кода, т.е. можно писать комментарии на русском языке. Но вывод в консольное окно происходит похоже в другой кодировке, и я не знаю как это пофиксить. Поэтому комментарии я пишу на русскома, а выводимые сообщения на английском, благо я хорошо знаком с этим языком. :) На сопутствующем скрин-шоте видно окно редактора с комментариями. Мне просто совершенно не нравится идея готовить текст в отдельном редакторе, там ведь нет выделения синтаксиса и вообще...
Asta la vista, Mike
Рекомендуемая литература:
- Нейбауэр Алан. Моя первая программа на Си/Си++. Перевод с англ. - СПб.: Питер, 1996. - 368 с.: ил.
- Березин Б.И., Березин С.Б. Начальный курс С и С++. - М,: ДИАЛОГ_МИФИ, 1996. - 288 с.
- Подбельский В.В., Фомин С.С. Программирование на языке Си: Учеб. пособие. - М.: Финансы и статистика, 1998. - 600 с.: ил.
- Джонс Р., Стюарт Я. Программируем на Си/Пер. с англ. и предисл. М.Л. Сальникова, Ю.В. Сальниковой. - М.: Компьютер, ЮНИТИ, 1994. - 236 с.: ил.
- Скляров В.А. Программирование на языках Си и Си++: Практ. пособие. - М.: Высш. шк., 1996. -240 с.: ил.
- Пашенков В.В. Язык программирования Си. - М.: Центр НТТМ "Алгоритм", 1990. - 76 с.
- УинерР Р. Язык Турбо Си: Пер. с англ. -М.: Мир, 1991. - 384 с.: ил.
|