Читать «С++ для "чайников" .» онлайн - страница 20

Стефан Рэнди Дэвис

«При работе над книгой я создал каталог \Cpp_Programs, а в нём — каталог Chap01, и сохранил в нём созданный файл под именем Conversion.срр ( Conversion-рус.срр ). Обращаю ваше внимание на то, что Dev-C++ некорректно работает с дисковыми именами, в которых имеется пробел ( хорошо хоть, что Dev-C++ в состоянии работать с именами длиннее 8 символов — спасибо и за это... ).»

[]

Построение вашей программы...34 

После сохранения на диске исходного файла Conversion.срр самое время сгенерировать выполняемый машинный код. 

 

Рис. 1.7. Сообщение о компиляции программы без ошибок

Если компилятор находит ошибки в программе — а это такое же обычное дело, как снег на Чукотке — он сообщает об этом программисту. Вы обязательно столкнётесь с многочисленными предупреждениями и сообщениями об ошибках, возможно, даже при работе с простенькой программой Conversion.срр или Conversion-рус.срр . Чтобы продемонстрировать процесс исправления ошибок, изменим оператор в 15 строке cin >> celsius ; на cin >>> celsius ;.

Это нарушение кажется совсем невинным — и вы, и я вскоре бы о нём забыли. Но при компиляции открывается вкладка Compiler ( Компилятор ) с сообщением об ошибке ( рис. 1.8 ). Для того чтобы исправить ошибку, просто удалите лишний символ ">" и скомпилируйте программу заново.

_________________

34 стр. . Первое знакомство с С++

 

Рис. 1.8. Сообщение об ошибке в программе

Почему С++ так требователен...35

Как видим, компилятор смог определить строку, которую мы испортили в предыдущем примере. Однако если он нашёл ошибку, то почему же он сам не решит эту проблему — и дело с концом? Ответ достаточно прост. Хотя в данном случае Dev-C++ считает, что мы всего лишь допустили опечатку при вводе символов ">>", полностью положиться на его интуицию нельзя. Ведь правильной командой в действительности может оказаться совершенно другая, не имеющая никакого отношения к ошибочной команде. Если бы компилятор исправлял ошибки так, как считает нужным, то он скрывал бы от разработчиков многие реальные проблемы. 

Требуется много усилий и времени, чтобы найти скрытую в программе ошибку. Намного лучше позволить найти эту ошибку компилятору. Мы тратим наше драгоценное время, создавая ошибки. Но зачем же расходовать его ещё и на их поиск, если компилятор может выловить огрехи, не тратя нашего времени. Каким, по вашему мнению, будет мой выбор?..

«Термин parse в описании ошибки обозначает, что ошибка была найдена при проведении синтаксического анализа команд С++.»

[]

_______________

35 стр. . Написание вашей первой программы

►Выполнение программы...36  

Пришло время испытания вашего нового творения. Для выполнения программы нужно запустить файл Conversion-рус.exe или Conversion.exe и обеспечить его входными данными. Полученный результат можно использовать для анализа.

Чтобы запустить программу из среды Dev-C++, нужно выбрать команду меню Ехесute  =>  Run ( Выполнить  =>  Выполнить ) или нажать <Ctrl+F10>.