Шаг 9.
Microsoft Visual C++ 2010. Язык С/С++.
Задание текста консольного приложения

    На этом шаге мы рассмотрим особенности формирования текста приложения.

    Изменим содержимое функции main () следующим образом:

 printf("Hello!\n"); 
  _getch();

    Это код нашего первого приложения. Он должен вывести на экран текст "Hello!" и задержать изображение, чтобы оно не исчезло, пока мы рассматриваем, что там появилось на экране.

    Вывод на экран выполняет оператор printf("Hello!\n");, а задержку изображения - оператор _getch ();.

    Заметим, что оператором в C/C++ называют некоторое выражение C/C++, оканчивающееся точкой с запятой. В первый оператор входит функция printf("Hello!\n"), а во второй - функция _getch() (эта функция из C/C++ введена вместо ранее использовавшейся функции getch ()).

    В итоге наше консольное приложение будет иметь вид, представленный на рисунке 1.


Рис.1. Вид консольного приложения до компиляции

    Чтобы приложение заработало, его надо откомпилировать, т. е. перевести написанное на языке C/C++ в машинные коды. Для этого запускается программа-компилятор. Запускается она либо нажатием комбинации клавиш Ctrl+Shift+B, либо выполнением опции главного меню Build | Solution (Построение | Построить решение), либо нажатием функциональной клавиши F7. Если мы проделаем подобные действия, то получим картинку, показанную на рисунке 2.


Рис.2. Результат 1-й компиляции приложения

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

  "error C3861: '_getch': идентификатор не найден".

    Это означает, что компилятор "не узнает" функцию _getch(). Точно так же компилятор ничего не нашел относительно функции printf(). Если кнопкой мыши дважды щелкнуть на каждой строке с информацией об ошибке, то в поле функции main(), т. е. в нашей программе в поле подшивки (вертикальная полоса слева от текста) отметится та строка, в которой эта ошибка обнаружена. Этот процесс также показан на рисунке 3.


Рис.3. Обнаружение операторов с ошибками в теле программы по результатам компиляции

    А теперь разберемся с обнаруженными ошибками.

    Щелкнем дважды на имени функции _getch(), чтобы пометить ее, и нажмем клавишу F1. Откроется окно помощи. В появившемся окне мы найдем сведения о необходимой нам функции, в том числе и о местонахождении ее описания (Required header file conio.h).


Рис.4. Окно помощи

    Если этот файл подключить к нашей программе, то компилятор станет находить сведения об этой функции и ошибка устранится. Включение файла с описанием функции (Header file - это файл оглавления, отсюда и символ h в его расширении) осуществляется директивой #nclude - это оператор компилятора. Он включает в текст программного модуля файл, который указан в угловых скобках. Но вы и сами можете задавать в подобных файлах необходимую для вашей программы информацию. Тогда для ее подключения к вашей программе имя такого файла в операторе #include должно быть в двойных кавычках.

    Итак, в заголовке программы пишем #include <conio.h>.

    Аналогично поступаем и со второй ошибкой компиляции. Определяем: чтобы компилятор "узнал" функцию printf (), надо к программе подключить заголовочный файл #include <stdio.h>.


Рис.5. Использование директивы #include

    На следующем шаге мы закончим изучение этого вопроса.




Предыдущий шаг Содержание Следующий шаг