Р. Лафоре. ООП в С++. Завдання 2.10

Застаріла грошова система Великобританії складалася із фунтів, шилінгів та пенсів. 1 фунт дорівнював 20 шилінгам, а 1 шилінг – 12 пенсам. Для запису використовувалася система, що складалася зі знаку £ та трьох десяткових значень, розділених крапками. Наприклад, запис £5.2.8 означав 5 фунтів, 2 шилінги та 8 пенсів (пенс – множина від пенні). Сучасна грошова система, що була прийнята в 50-ті роки ХХ століття, складається лише із фунтів та пенсів, причому один фунт дорівнює 100 пенсам. Такий фунт називають десятковим. Таким чином, у новій грошовій системі вказана сума позначатиметься як £5.13 (а точніше – £5.1333333). Напишіть програму, яка перетворюватиме суму, записану в старому форматі (фунти, шилінги, пенси), в новий формат (фунти, пенси). Формат взаємодії програми із користувачем може бути таким:
Введіть кількість фунтів: 7
Введіть кількість шилінгів: 17
Введіть кількість пенсів: 9
Кількість десяткових фунтів: 7.89

Відповідь:
#include <iostream>
using namespace std;
int main()
{
    float a, b, c, d;
    cout << "Введіть кількість фунтів: ";
    cin >> a;
    cout << "Введіть кількість шилінгів: ";
    cin >> b;
    cout << "Введіть кількість пенсів: ";
    cin >> c;
    d = a+(b+c/12)/20;
    cout << "Кількість десяткових фунтів = " << d;
    return 0;
}
Що відбувається в даній формулі?
  1. пенси перетворюються в шилінги: c/12
  2. перетворені із пенсів шилінги додаються до решти шилінгів: b+c/12
  3. всі шилінги перетворюються у фунти (все, що в дужках, ділиться на 20): (b+c/12)/20
  4. до перетворених фунтів додаються раніше введені: a+(b+c/12)/20
  5. дана сума фунтів присвоюється змінній d, яка і виводиться в результат.

Немає коментарів:

Дописати коментар

Функції gotoxy(), clrscr(), getch() та getche() для GCC Linux

У цій статті Ви дізнаєтесь, як можна використовувати функції  gotoxy(), getche(), getch() та clrscr() у GCC Linux . У компіляторі TurboC (...