logo
Харви Дейтел, Пол Дейтел Как программировать на С++ / 02-Deitel-Стр-115-214

164 Глава 2

2.14. Найдите и исправьте ошибки в каждом из следующих фрагментов (в каждом фрагменте может быть более, чем одна ошибка):

a) if (age >= 65) ;

cout « "Возраст более или равен 65" « endl; else

cout « "Возраст менее 65" « endl;

b) int x = 1, total;

\

while (x <= 10) {

total += x;

++x; }

c) while (x <= 100)

total += x; ++x;

d) while (у > 0) {

cout « у « endl;

++у; }

2.15. Что напечатает следующая программа?

#include <iostream.h)

main()

{

int у, x = 1, total = 0; while (x <= 10) { у = x * x; cout « у « endl; total += у; ++x; }

cout « " Total равна " « total « endl; }

Для упражнений 2.16—2.19 выполните следующие шаги:

  1. Прочтите постановку задачи.

  2. Сформулируйте алгоритм, используя псевдокод и нисходящую пошаговую детализацию.

  3. Напишите программу на С++.

  4. Проверьте, отладьте и выполните программу на С++.

2.16. Из-за высокой цены бензина водители озабочены затратами топлива своих автомобилей. Один водитель взял в рейс несколько емкостей бензина, записывая пройденные мили и бензин, использованный из каждой емкости. Разработайте программу на С++, которая вводила бы пробег в милях и бензин, использованный из каждой емкости. Программа должна рассчитывать и выводить на экран число миль на галлон для каждой емкости. После ввода исходных данных про­ грамма должна рассчитать и напечатать значение среднего числа миль на галлон, полученное для всех емкостей. Пример вывода:

Введите расход бензина (-1, если ввод закончен) : 12.8 Введите пройденный путь: 287

Управляющие структуры 165

Для эфой емкости получено миль / галлон 22.421875 Введите расход бензина (-1, если ввод закончен) : 10.3 Введите пройденный путь: 200 Для этой емкости получено миль / галлон 19.417475

Введите расход бензина (-1, если ввод закончен) : 5

Введите пройденный путь: 120

Для этой емкости получено миль / галлон 24.000000

Введите расход бензина (-1, если ввод закончен) : -1 Средний расход бензина 21.601423

2.17. Разработайте программу на С++, которая будет определять, не пре­ высили ли расходы клиента, имеющего депозитный счет, предела кредита. Для каждого клиента известны следующие данные:

  1. Номер счета (целое).

  2. Баланс с начала месяца.

  3. Сумма всех расходов данного клиента в течение месяца.

  4. Сумма всех приходов на счет данного клиента в течение месяца.

  5. Допустимый размер кредита.

Программа должна ввести все эти данные, рассчитать новый баланс (равный начальному балансу + расход — приход) и определить, не превысил ли новый баланс предела кредита клиента. Для того кли­ента, чей кредит превышен, программа должна вывести на экран номер счета клиента, предел кредита, новый баланс и сообщение «Предел кредита превышен». Например:

Введите номер счета (-1, если ввод закончен) : 100

Введите начальный баланс: 5394.78

Введите сумму расходов: 1000.00

Введите сумму прихода: 500.00

Введите предел кредита: 5500.00

Счет: 100

Предел кредита: 5500.00

Баланс: 5894.78

Предел кредита превышен

Введите номер счета (-1, если ввод закончен) : 200

Введите начальный баланс: 1000.00

Введите сумму расходов: 123.45

Введите сумму прихода: 321.00

Введите предел кредита: 1500.00

Введите номер счета (-1, если ввод закончен) : 300 Введите начальный баланс: 500.00 Введите сумму расходов: 274.73 Введите сумму прихода: 100.00 Введите предел кредита: 800.00

Введите номер счета (-1, если ввод закончен) : -1

2.18. Одна большая химическая компания платит своим продавцам на основе комиссионных. Продавец получает $200 в неделю плюс 9%