ВНИМАНИЕ. При работе в интегрированной среде Borland C++ 3.1 (или любой другой оболочке, рассчитанной на работу в среде MS DOS) у вас не будет проблем с компиляцией и
При работе в интегрированной среде Borland C++ 3.1 (или любой другой оболочке, рассчитанной на работу в среде MS DOS) у вас не будет проблем с компиляцией и выполнением приводимых примеров. Напротив, работа в среде Microsoft Visual C++ 6.0 в режиме консольных приложений сопряжена с неудобствами, вызванными различными стандартами кодировки символов кириллицы в операционных системах MS DOS и Windows. Ниже мы рассмотрим этот вопрос подробнее.
Отладка программы Запустите программу на выполнение несколько раз, задавая различные значения температуры. Не забудьте, что число, имеющее дробную часть, при вводе следует записывать с точкой, а не с запятой. Можно задавать и целые числа — они будут автоматически преобразованы в вещественную форму.
Как вы можете видеть, результат выполнения программы со стабильностью, достойной лучшего применения, оказывается равным нулю! Это происходит из-за способа вычисления выражения. Давайте вновь обратимся к оператору 4. Константы ты 5 и 9 имеют целый тип, поэтому результат их деления также целочисленный. Округления при этом не происходит, дробная часть всегда отбрасывается. Естественно, что результат дальнейших вычислений не может быть ничем, кроме нуля. Исправить эту ошибку просто — достаточно записать хотя бы одну из констант в виде вещественного числа, например:
Вещественная константа «5.» по умолчанию имеет тип doublе, и при выполнении деления происходит автоматическое преобразование к этому же типу другой Константы, а затем и результата вычитания.
Можно записать это выражение и по-другому, просто изменив порядок действий:
В этом случае будет выполнено преобразование констант к типу float, как к наиболее длинному из участвующих в выражении.
Теперь программа работает верно и выдает в результате, например, следующее:
Обратите внимание, что на экран наряду с результатом вычислений мы вывели и исходные данные. Это правильная привычка, и надеемся, что вы тоже будете ей следовать.
СОВЕТ Начинающие часто тратят время на поиск ошибки в алгоритме, не удостоверившись, что программа работает с правильными данными. Рекомендуется для контроля выводить исходные данные сразу же после ввода, чтобы исключить ошибки.
Попробуйте при вводе температуры задать нецифровые символы и проинтерпретировать полученный результат.
Как видите, даже в таком простом примере можно допустить ошибки! В данном случае заметить их легко, но так происходит далеко не всегда, поэтому запомните важное правило: надо всегда заранее знать, что должна выдать программа. Добиться этого можно разными способами, например, вычислением результатов в уме, на бумаге или с помощью калькулятора, а в более сложных случаях — расчетами по альтернативной или упрощенной методике. Это убережет вас от многих часов, бесплодно и безрадостно проведенных за компьютером. Не поленимся повторить еще раз:
|