Выбрать главу

«При работе над книгой я создал каталог \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