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

Тут можно читать онлайн Стефан Дэвис - С++ для чайников . - бесплатно полную версию книги (целиком) без сокращений. Жанр: 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

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

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

Интервал:

Закладка:

Сделать

}

break ;

default :

cout << "Непонятный символ...\n" ;

}

}

/* А теперь показать общую сумму */

double chkTotal = 0 ;

cout << "Чековые счета:\n" ;

for ( int i = 0 ; i < noChkAccounts ; i++ )

{

chkAcnts[ i ] -> display( ) ;

chkTotal += chkAcnts[ i ] -> acntBalance( ) ;

}

double svgTotal = 0 ;

cout << "Сберегательные счета:\n" ;

for ( int j = 0 ; j < noSvgAccounts ; j++ )

{

svgAcnts[ j ] -> display( ) ;

svgTotal += svgAcnts[ j ] -> acntBalance( ) ;

}

double total = chkTotal + svgTotal ;

cout << "Сумма по чековым счетам = "

<< chkTotal

<< "\n" ;

cout << "Сумма по сберегательным счетам = "

<< svgTotal

<< "\n" ;

cout << "Общая сумма = "

<< total

<< "\n" ;

_________________

352 стр. Часть 6. Великолепная десятка

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

system( "PAUSE" ) ; return 0 ;

}

/* обработка( Checking ) — ввод данных по чековым счетам */

void process( Checking* pChecking )

{

cout << "Введите положительное число для вклада,\n"

<< "отрицательное для снятия, 0 для завершения\n" ;

double transaction ;

do

{

cout << ":" ;

cin >> transaction ;

// Вклад

if ( transaction > 0 )

{

pChecking -> deposit( transaction ) ;

}

// Снятие

if ( transaction < 0 )

{

pChecking -> withdrawal( -transaction ) ;

}

} while ( transaction != 0 ) ;

}

/* обработка( Savings ) — ввод данных для сберегательных счетов */

void process( Savings* pSavings )

{

cout << "Введите положительное число для вклада,\n"

<< "отрицательное для снятия, 0 для завершения\n" ;

double transaction ;

do

{

cout << ":" ;

cin >> transaction ;

// Вклад

if ( transaction > 0 )

{

pSavings -> deposit( transaction ) ;

}

// Снятие

if ( transaction < 0 )

{

pSavings -> withdrawal( -transaction ) ;

}

} while ( transaction != 0 ) ;

}

_________________

353 стр. Глава 31. Программа BUDGET

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

Введите S для сберегательных счетов С для чековых X для выхода S - фото 349

Введите S для сберегательных счетов,

С для чековых, X для выхода: S

Введите номер счёта: 123

Введите положительное число для вклада,

отрицательное для снятия, 0 для завершения

: 200

: -20

: 0

Введите S для сберегательных счетов,

С для чековых, X для выхода: S

Введите номер счёта:234

Введите положительное число для вклада,

отрицательное для снятия, 0 для завершения

: 200

: -10

: -10

: 0

Введите S для сберегательных счетов,

С для чековых, X для выхода: С

Введите номер счёта: 345

Введите положительное число для вклада,

отрицательное для снятия, 0 для завершения

: 200

: -20

: 0

Введите S для сберегательных счетов,

С для чековых, X для выхода: С

Введите номер счёта: 456

Введите положительное число для вклада,

отрицательное для снятия, 0 для завершения

: 600

: -20

: 0

Введите S для сберегательных счетов,

С для чековых, X для выхода: Х

Чековые счета:

Счёт 345 = 179.8

Счёт 456 = 580

Сберегательные счета:

Счёт 123 = 180 ( номер снятия = 1 )

Счёт 234 = 175 ( номер снятия = 2 )

Сумма по чековым счетам = 759.8

Сумма по сберегательным счетам = 355

Общая сумма = 1114.8

Press any key to continue...

Рассмотрим каждую из функций-членов, начиная с класса Checking . Конструктор присваивает счёту его номер. Значение по умолчанию "= 0" позволяет программе создавать объект с номером счёта по умолчанию, равным нулю.

Checking c1 = new Checking( 124 ) ;

Checking с2 = new Checking( ) ;

_________________

354 стр. Часть 6. Великолепная десятка

В данном случае объект c1 класса Checking создаётся с номером счёта, равным 123, тогда как объект с2 создаётся с номером счёта по умолчанию, который равен нулю.

Функции accountNo( ) и acntBalance( ) предоставляют внешнему миру доступ к защищённым членам accountNumber и balance . Задачей этих функций является предоставление внешним функциям — не членам значений, изменить которые невозможно. Кроме того, эти функции, обеспечивающие доступ к членам, предохраняют внешние функции от необходимости внесения изменений при переменах в методе хранения номера счёта или баланса.

Функции deposit( ) и withdrawal( ) отвечают за вложение и снятие денег со счёта. Поскольку функция deposit( ) довольно проста, она была определена как inline -функция. Функция withdrawal( ) , будучи несколько сложнее, объявлена в классе, но определяется позже.

Функция display( ) выводит важные данные на устройство стандартного вывода.

Класс Savings , в сущности, идентичен классу Checking , за исключением дополнительного члена noWithdrawals , который отслеживает количество проведённых снятий.

Место под объекты сберегательного и чекового счёта выделяется в массивах svgAcnts и chkAcnts соответственно. Максимальное количество счетов определено величиной maxAccounts .

Функция main( ) несколько сложнее своей сестры из программы BUDGET1, поскольку она имеет дело с двумя разными типами счетов. После проверки ввода на равенство " X " функция main( ) использует конструкцию switch , чтобы выбрать тип счёта: С для чекового и S для сберегательного. Конструкция switch использована в этой программе по двум причинам: во-первых, её проще расширить, добавляя к ней дополнительные варианты; во-вторых, она предоставляет вариант default ( вариант по умолчанию ) для обработки неверного ввода.

Как и ранее, вторая часть функции main( ) обеспечивает отображение информации о счёте, собранной в первой части этой функции.

Обратите внимание на то, как содержимое классов Checking и Savings скрыто от main( ) . Так, например, main( ) просит объект показать своё содержимое, однако при этом не имеет никакого представления о том, как класс выбирает, что именно и как это показать.

Функция process( ) , которая обрабатывает текущие вложения и снятия, полагается на функции-члены deposit( ) и withdrawal( ) , которые выполняют за неё всю чёрную работу. Хотя вы и знаете, как именно выполняются эти действия, помните, что process( ) об этом не имеет никакого понятия. Работа счёта касается только самого класса счёта.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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