Стефан Дэвис - С++ для чайников .

Тут можно читать онлайн Стефан Дэвис - С++ для чайников . - бесплатно полную версию книги (целиком) без сокращений. Жанр: sci_tech, издательство Издательский дом Вильямс. Компьютерное издательство Диалектика, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    С++ для чайников .
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом Вильямс. Компьютерное издательство Диалектика
  • Год:
    2007
  • Город:
    Москва
  • ISBN:
    0-7645-6852-3, 978-5-8459-0723-3
  • Рейтинг:
    4/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Стефан Дэвис - С++ для чайников . краткое содержание

С++ для чайников . - описание и краткое содержание, автор Стефан Дэвис, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
empty-line
1
empty-line
4

С++ для чайников . - читать онлайн бесплатно полную версию (весь текст целиком)

С++ для чайников . - читать книгу онлайн бесплатно, автор Стефан Дэвис
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

int nSum ;

for ( int nNums = 0 ; ; nNums++ )

_________________

131 стр. Глава 10. Отладка программ на С++

{

/* Ввод следующего числа */

int nValue ;

cout << "Введите следующее число:" ;

cin >> nValue ;

cout << endl ;

/* Если введённое число отрицательно... */

if ( nValue < 0 )

{

/* ...выводим результат усреднения */

cout << "\nСреднее равно: "

<< nSum / nNums

<< "\n" ;

break ;

}

/* Вывод отладочной информации */

cout << "nSum = " << nSum << "\n" ;

cout << "nNums= " << nNums << "\n" ;

cout << "nValue= " << nValue << "\n" ;

cout << endl ;

/* Введённое число не отрицательно, суммируем его */

nSum += nValue ;

}

/* Пауза для того, чтобы посмотреть на результат работы программы */

system( "PAUSE" ) ; return 0 ;

}

Обратите внимание на то, что информация о состоянии отслеживаемых переменных nValue , nSum и nNums выводится в каждом цикле.

Ответ программы на ввод уже привычных 1, 2, 3 и -1 приведён ниже. При первом же проходе nSum принимает какое-то несуразное значение, хотя оно должно равняться нулю ( поскольку к этой переменной пока что ничего не прибавлялось ).

Эта программа содержит ошибки Введите следующее число1 nSum 858993460 - фото 151

Эта программа содержит ошибки!

Введите следующее число:1

nSum = -858993460

nNums = 0

nValue= 1

Введите следующее число:2

nSum = -858993459

nNums= 1

nValue= 2

Введите следующее число:3

nSum = -858993457

nNums = 2

nValue= 3

Введите следующее число:

_________________

132 стр. Часть 2. Становимся функциональными программистами

Внимательно присмотревшись к программе, можно заметить, что nSum была объявлена, но не проинициализирована. Для того чтобы исправить эту ошибку, объявление переменной необходимо изменить следующим образом:

int nSum = 0 ;

Примечание. Пока переменная не проинициализирована, её значение непредсказуемо.

Теперь когда вы нашли все ошибки перепишите программу так как показано в - фото 152

«Теперь, когда вы нашли все ошибки, перепишите программу так, как показано в следующем листинге ( эта программа имеется на прилагаемом компакт-диске в файлеErrorProgram3.срр )

[ Диск ]

/* ErrorProgram — эта программа усредняет ряд чисел и не содержит ошибок */

#include

#include

#include

using namespace std ;

int main( int nNumberofArgs , char* pszArgs[ ] )

{

/* печать кириллицы, если Вы не установите программки gccrus.exe и g++rus.exe */

setlocale (LC_ALL,".1251");

/* Суммируем ряд чисел, пока пользователь не введёт отрицательное число, после чего выводим среднее */

int nSum = 0 ;

for ( int nNums = 0 ; ; nNums++ )

{

/* Ввод следующего числа: */

int nValue ;

cout << "Введите следующее число:" ;

cin >> nValue ;

cout << endl ;

/* Если введённое число отрицательно... */

if ( nValue < 0 )

{

/* ...выводим усреднённое значение */

cout << "\nСреднее равно: "

<< nSum / nNums

<< "\n" ;

break ;

}

/* Введённое число не отрицательно, суммируем его */

nSum += nValue ;

}

/* Пауза для того, чтобы посмотреть на результат работы программы */

system( "PAUSE" ) ; return 0 ;

}

Теперь вывод программы будет правильным. Протестировав эту программу с другими наборами чисел, я убедился, что она работает без ошибок.

Введите следующее число 1 Введите следующее число 2 Введите следующее - фото 153

Введите следующее число: 1

Введите следующее число: 2

Введите следующее число: 3

Введите следующее число: -1

Среднее равно: 2

Press any key to continue...

_________________

133 стр. Глава 10. Отладка программ на С++

►Использование отладчика...134

В небольших программах метод отладочной печати работает довольно неплохо. Добавление отладочных команд — достаточно простой и не влияющий на время компиляции способ нахождения ошибок, с помощью которого можно быстро отыскать ошибку, если программа невелика.

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

В конце концов, с помощью этого метода почти невозможно найти ошибку, связанную с указателями. Указатель, выведенный на экран в шестнадцатеричном виде, малоинформативен, и, пока программист поймёт, что нужно сделать для исправления ошибки, программа успеет морально устареть.

Второй, более изощрённый метод — использование отдельной утилиты, которая называется отладчиком. С помощью отладчика можно избежать трудностей, возникающих при использовании методики отладочной печати ( однако, если вы хотите использовать отладчик, вам придётся научиться с ним работать ).

Что такое отладчик...134

Отладчик — это утилита, встроенная, например, в Dev-C++ или Microsoft Visual Studio .NET ( в этих приложениях программы отладчиков отличаются, однако работают они по одному принципу ).

Программист управляет отладчиком с помощью команд так же, как, например, при редактировании или компиляции программы. Команды отладчика можно выполнять с помощью контекстных меню или горячих клавиш.

Отладчик позволяет программисту контролировать работу программы по ходу её выполнения. С помощью отладчика можно выполнять программу в пошаговом режиме, останавливать её в любой точке и просматривать содержимое любой переменной. Чтобы оценить удобство отладчика, его нужно увидеть в действии.

Работа с отладчиком...134

В отличие от стандартизированного языка С++, набор команд, поддерживаемый отладчиком, варьируется от производителя к производителю. К счастью, большинство отладчиков поддерживают некоторый базовый набор команд. Необходимые нам команды есть как в Dev-С++, так и в Microsoft Visual С++ .NET; в них также имеется возможность вызова этих команд с помощью меню и функциональных клавиш. В табл. 10.1 приведён список основных команд и клавиш их вызова.

Таблица 10.1. Команды отладчиков Microsoft Visual С++ .NET и Dev-C++

_________________

КомандаVisual С++GNU С++ ( rhide )

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Отладка — —

Шаг внутрь ( Step In ) — —

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стефан Дэвис читать все книги автора по порядку

Стефан Дэвис - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




С++ для чайников . отзывы


Отзывы читателей о книге С++ для чайников ., автор: Стефан Дэвис. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x