Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Часть Становимся программистами. Глава 11. Отладка программ на C++ 135
Чтобы продемонстрировать эту программу в действии, я ввел следующие числа (вывод программы обозначен нормальным шрифтом, мой ввод — жирным): Нажмите С для продолжения или X для Введите 1234 Введите сумму сумму для со счета :-100 Недостаточно денег на счете: баланс 100, сумма транзакции 200 :0 Нажмите С для продолжения или X для Введите номер счета:2345 Введите сумму или сумму для снятия со :200 :-50 :-50 :-50 :0 Нажмите С для продолжения иди X для Баланс счета 1234 = 100 Баланс счета 2345 = 50 Баланс всем счетам 150
Стиль программирования Вы, наверное, заметили, что я пытался быть последовательным в отступах и в именовании переменных. Наша голова имеет ограниченную "производительность". эту производитель- ность следует направлять на создание работающих программ, а не на расшифровку уже написанных, которые невозможно прочитать из-за плохого оформления. Важно, чтобы вы научились правильно именовать свои переменные, корректно располагать скобки и выполнять многое другое, что составляет стиль программи- рования. Разработав стиль программирования, придерживайтесь его, и он войдет в привычку. Однажды вы заметите, что пишете программы быстрее, а их чтение не вызывает затруднений. Это особенно важно, когда над проектом работают несколько программистов, по- скольку правильный стиль помогает избежать проблем, возникших у строителей Вавилонской башни. Кроме того, я бы настоятельно советовал тщательно разби- раться в каждом сообщении об ошибке или предупреждении компилятора. Даже если считать, что предупреждение — это еще не ошибка, то зачем дожидаться, по- ка оно превратится в ошибку? Тем более, что, если оно такое простое, каким ка- жется, разобраться в нем и устранить его не составит труда. В большинстве случаев предупреждения вызываются ошибочным стилем программирования, который лучше исправить. Одни говорят, что недосмотры — это их личное дело, другие же считают, что это лишняя трата времени. Если вы так думаете, то просто представьте себе, как обидно будет обнаружить ошибку, о которой компилятор предупреждал вас давным-давно.
Разберемся в том, как работает BUDGET. В этой программе было создано два массива, один которых содержит номера счетов, а второй — балансы. Эти массивы синхронизированы таким образом, что элемент [n] содержит баланс счета с номером из [n], от значения п. В связи с ограничением Глава 11. Отладка программ на C++ 135 длины массива количество счетов, содержащихся в программе, не может превышать
Главная программа разделена на две части: первая отвечает за сбор информации; в ней происходит считывание размеров вкладов, снятие денег и запись результата, а вторая — за вывод информации. Фрагмент, отвечающий за сбор информации, орга- низован в виде цикла, в котором счета обрабатываются каждый в отдельности. В на- чале цикла пользователю предлагается ввести с для продолжения работы и X для завершения. Если был введен символ X, происходит выход из цикла и переход во вто- рую часть main () . Программа выходит из цикла, если количество созданных счетов достигло независимо от того, был или нет введен х. Обратите внимание, что происходит проверка введенного символа на равенство как 'X', так и 'х' — ведь в отличие от компьютера человек может не обратить внима- ния на регистр вводимых символов. Если пользователь ввел то управление передается функции которая создает счет и заполняет его необходимой информацией. После этого функция proces s (> добавляет в счет информацию о транзакции. Аргументами функций () и proces s {) являются указатели, так что эти функ- ции могут изменять значения своих аргументов. В противном случае обновленная информация о счете была бы утрачена по окончании работы функций. После завершения создания счетов управление переходит блоку, отвечающему за вывод итоговых результатов. В этом блоке происходит считывание каждого счета и вывод баланса каждого из них. В конце выводится общая сумма. Функция ini t () создает новый счет после приглашения ввести его номер и обну- ляет создаваемый счет. Очень важно не забыть проинициализировать новый элемент. Нулевой баланс сче- та лучше непредсказуемого значения (например, отрицательного). Функция process! ) использует цикл для ввода каждой новой транзакции. Поло- жительные значения считаются вкладом, а отрицательные — снятием со счета. Для завершения работы со счетом достаточно ввести ноль. Значение 0 используется программой в качестве флага. Это хотя и довольно рас- пространенный, но не самый хороший метод. Я использовал его в этой программе только потому, что он помогает сохранить довольно много места. Существует множество способов улучшить программу BUDGET. ИХ ПОИСК станет основой для последующего изучения языка C++. В конце книги вы увидите, как эта программа превратится в полнофункциональную объектно-ориентированную про- грамму C++.
136 Часть //. Становимся программистами Часть III
"Классическое" программирование
Основным отличием C++ от других языков является возможностьобъектно-ориентированногопрограммирования. Термин объектно-ориентированный — один из самых популярных в современном компьютерном мире. Языки программирования, редакторы и базы данных — буквально все претендуют на звание объектно-ориентированных. Иногда так оно и есть, но часто такое определение дается в рекламных целях. Так что же такое объектно-ориентированное программирование? Прочитайте эту часть книги. Глава |
Последнее изменение этой страницы: 2019-04-19; Просмотров: 216; Нарушение авторского права страницы