«При работе над книгой я создал каталог \Cpp_Programs, а в нём — каталог Chap01, и сохранил в нём созданный файл под именем Conversion.срр ( Conversion-рус.срр ). Обращаю ваше внимание на то, что Dev-C++ некорректно работает с дисковыми именами, в которых имеется пробел ( хорошо хоть, что Dev-C++ в состоянии работать с именами длиннее 8 символов — спасибо и за это... ).»
[Советы]
Построение вашей программы...34
После сохранения на диске исходного файла Conversion.срр самое время сгенерировать выполняемый машинный код.
Для этого нужно выбрать команду меню Execute => Compile ( Выполнить => Скомпилировать ) или просто нажать клавиши <Ctrl+F9> ( можно также щёлкнуть на соответствующей пиктограмме в полосе инструментов ). Dev-C++ откроет окно компиляции. Сначала ничего не происходит ( компилятор думает :) ), но через некоторое время, если программа была введена правильно, вы увидите окно, показанное на рис. 1.7. Слово Done в переводе с английского означает сделанный, в нашем случае откомпилированный ( Прим.- рер. ).
Рис. 1.7. Сообщение о компиляции программы без ошибок
Если компилятор находит ошибки в программе — а это такое же обычное дело, как снег на Чукотке — он сообщает об этом программисту. Вы обязательно столкнётесь с многочисленными предупреждениями и сообщениями об ошибках, возможно, даже при работе с простенькой программой Conversion.срр или Conversion-рус.срр . Чтобы продемонстрировать процесс исправления ошибок, изменим оператор в 15 строке cin >> celsius ; на cin >>> celsius ;.
Это нарушение кажется совсем невинным — и вы, и я вскоре бы о нём забыли. Но при компиляции открывается вкладка Compiler ( Компилятор ) с сообщением об ошибке ( рис. 1.8 ). Для того чтобы исправить ошибку, просто удалите лишний символ ">" и скомпилируйте программу заново.
_________________
34 стр. Часть 1. Первое знакомство с С++
Рис. 1.8. Сообщение об ошибке в программе
Почему С++ так требователен...35
Как видим, компилятор смог определить строку, которую мы испортили в предыдущем примере. Однако если он нашёл ошибку, то почему же он сам не решит эту проблему — и дело с концом? Ответ достаточно прост. Хотя в данном случае Dev-C++ считает, что мы всего лишь допустили опечатку при вводе символов ">>", полностью положиться на его интуицию нельзя. Ведь правильной командой в действительности может оказаться совершенно другая, не имеющая никакого отношения к ошибочной команде. Если бы компилятор исправлял ошибки так, как считает нужным, то он скрывал бы от разработчиков многие реальные проблемы.
Требуется много усилий и времени, чтобы найти скрытую в программе ошибку. Намного лучше позволить найти эту ошибку компилятору. Мы тратим наше драгоценное время, создавая ошибки. Но зачем же расходовать его ещё и на их поиск, если компилятор может выловить огрехи, не тратя нашего времени. Каким, по вашему мнению, будет мой выбор?..
«Термин parse в описании ошибки обозначает, что ошибка была найдена при проведении синтаксического анализа команд С++.»
[Советы]
_______________
35 стр. Глава 1. Написание вашей первой программы
►Выполнение программы...36
Пришло время испытания вашего нового творения. Для выполнения программы нужно запустить файл Conversion-рус.exe или Conversion.exe и обеспечить его входными данными. Полученный результат можно использовать для анализа.
Чтобы запустить программу из среды Dev-C++, нужно выбрать команду меню Ехесute => Run ( Выполнить => Выполнить ) или нажать <Ctrl+F10>.
При этом откроется окно, в котором вам предложат ввести температуру по Цельсию. Для проверки правильности внесите какую-то заранее известную температуру, например 100°. После нажатия клавиши <Enter> программа возвращает эквивалентную температуру по Фаренгейту, т.е. 212°:
Введите температуру по Цельсию: 100