Урок №7. Решения самых распространенных проблем

В рамках данного занятия мы изучим основные трудности, с которыми сталкиваются начинающие программисты при работе с языком программирования C++.
Проблема №1
Как правильно работать с кириллицей в языке программирования C++?
Первый вариант ответа
Для того чтобы работать с кириллицей в языке программирования C++ необходимо включить заголовочный файл
#include
В функции main() нужно добавить следующие две строки:
SetConsoleCP ( 1251 ) ;
SetConsoleOutputCP ( 1251 ) ;
Для замены можно применить указанную строку в основной функции:
setlocale ( LC_ALL , "Russian" ) ;
Проблема №2
При запуске программы появляется темное консольное окно, которое мгновенно исчезает.
Второй вариант ответа
Некоторые компиляторы, такие как Bloodshed’s Dev C++, не задерживают консольное окно после завершения выполнения программы. Если возникает подобная проблема, можно решить ее, выполнив следующие два шага:
Первый шаг: Внесите в верхнюю часть вашего кода следующую строку:
#include
Второй этап: Вставьте данный код в конце функции main() (непосредственно перед оператором return):
std :: cin . clear ( ) ;
std :: cin . ignore ( 32767 , '
' ) ;
std :: cin . get ( ) ;
В результате этого, приложение будет ожидать нажатия клавиши для закрытия консольного окна. Это даст вам дополнительное время для тщательного изучения всего. После нажатия любой клавиши, консольное окно автоматически закроется.
Использование других методов, например system("pause");, может быть эффективно только на определенных ОС, поэтому предложенный вариант является более предпочтительным.
Примечание: Visual Studio не задерживает консольное окно, если выполнение запущено с отладкой ("Отладка" > "Начать отладку" или F5 ). Если вы хотите, чтобы была пауза — воспользуйтесь решением выше или запустите программу без отладки ("Отладка" > "Запуск без отладки" или Ctrl+F5 ).
Проблема №3
При использовании cin, cout или endl компилятор сообщает об ошибке "undeclared identifier" (необъявленный идентификатор), указывая на неправильное объявление переменных.
Третий вариант ответа
Прежде всего, удостоверьтесь, что в начале вашего кода присутствует следующая строка:
#include
Во-первых, удостоверьтесь, что cin , cout или endl содержат приставку std:: , например:
std :: cout << "Hello world!" << std :: endl ;
Проблема №4
При использовании функции endl для перехода на новую строку возникает ошибка, связанная с тем, что end1 не определен как идентификатор.
Четвертый вариант ответа
Пожалуйста, удостоверьтесь, что вы правильно распознали букву "l" (строчная "L") в слове "endl", а не приняли ее за цифру "1". В слове "endl" все символы являются буквами. Также будьте внимательны, чтобы не перепутать заглавную букву "O" с цифрой "0" (ноль).
Проблема №5
Что делать, если моя программа компилируется, но не работает должным образом?
Пятый ответ
Произведите отладку кода. Подробнее об этом можно узнать на 26-м и 27-м занятиях.
Проблема №6
Как активировать нумерацию строк в Visual Studio?
Шестой вариант ответа
Откройте раздел "Средства" и выберите в нем "Параметры" :

Далее перейдите на вкладку "Редактор текста" > "Все языки" > "Общие" и активируйте опцию "Нумерация строк", после чего нажмите кнопку "Применить" :

Проблема №7
При сборке моей программы возникает ошибка: "неразрешенный внешний символ _main или _WinMain@16".
Седьмой вариант ответа
Это означает, что компилятор не может обнаружить основную функцию main(). Все программы обязаны включать эту функцию.
В данном месте имеется ряд аспектов, которые требуется рассмотреть:
Ваша программа содержит ли функцию main()?
Правильно ли написано слово "main"?
Вы проверили, что файл с функцией main() подключен к вашему проекту? Если нет, то переместите функцию main() в файл, который является частью вашего проекта, или добавьте этот файл в ваш проект.
Следует ли включить в компиляцию файл с функцией main()?
Проблема №8
При сборке моей программы возникает предупреждение: "Не удается найти или открыть файл PDB".
Восьмой ответ
Это не ошибка, а просто предупреждение, которое не повлияет на работоспособность вашей программы. Однако в Visual Studio можно исправить это следующим образом: перейдите в раздел "Отладка" > "Параметры" > "Отладка" > "Символы" и установите флажок рядом с "Серверы символов (Майкрософт)", затем нажмите "ОК".
Проблема №9
Мне приходится работать с Code::Blocks или G++, но возможности C++11/C++14 не поддерживаются.
Вариант ответа девять
Для настройки компилятора в Code::Blocks перейдите в раздел "Проект" > "Настройки сборки" > "Настройки компилятора" > "Флаги компилятора" и установите флажок напротив опции "Использовать стандарт языка C++14 ISO C++".
Для успешной компиляции в g++, необходимо ввести следующую команду в терминале:
-std=c++14
Проблема №10
После запуска программы, я увидел появление консольного окна, однако на экране не появляется никакой информации.
Десятый ответ
Если ваш антивирус мешает запуску программы, рекомендуется временно отключить его и повторно запустить программу.
У меня есть другая проблема, с которой я не могу разобраться. Как и где я могу получить ответ?
В процессе изучения этих уроков, у вас, безусловно, возникнут вопросы или вы столкнетесь с трудностями. Как поступить в такой ситуации?
Первым шагом будет обратиться к поисковику Google. Тщательно изложите свою проблему и просто воспользуйтесь поиском. Если у вас есть какое-то сообщение об ошибке, скопируйте его и вставьте в строку поиска Google, заключив в кавычки. Вероятно, кто-то уже сталкивался с подобной проблемой и нашел ответ.
Если вы не нашли ответ на свой вопрос в Google, попробуйте обратиться за помощью на специализированных сервисах вопросов и ответов или на форумах, посвященных программированию и IT. Вот некоторые из самых известных:
Пожалуйста, будьте внимательны и постарайтесь максимально детализировать свою проблему. Укажите, какую операционную систему и среду разработки вы используете, а также опишите шаги, которые вы уже предприняли для решения данной ситуации.
Comments