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

Напишіть програму, яка пропонує користувачу здійснити перетворення температури із шкали Цельсія в шкалу Фаренгейта або навпаки, а потім здійсніть перетворення. Використайте в програмі змінні дійсного типу. Взаємодія програми із користувачем може виглядати приблизно отак:
Натисніть 1 для перетворення шкали Цельсія в шкалу Фаренгейта,
2 для перетворення шкали Фаренгейта в шкалу Цельсія: 2
Введіть температуру по Фаренгейту: 70
Значення по Цельсію: 21.111111
Відповідь:
#include <iostream>
using namespace std;
int main()
{
    int c;
    double t;
    startprogram:
    cout << "Для перетворення шкали Цельсія в шкалу Фаренгейта натисніть 1,\nдля перетворення шкали Фаренгейта в шкалу Цельсія натисніть 2: ";
    cin >> c;
    if(c==1)
    {
        cout << "Введіть температуру по Цельсію: ";
        cin >> t;
        cout << "Значення по Фаренгейту: " << t*9/5+32;
    }
    else if(c==2)
    {
        cout << "Введіть температуру по Фаренгейту: ";
        cin >> t;
        cout << "Значення по Цельсію: " << (t-32)*5/9;
    }
    else
    {
        cout << "Ви помилилися при введенні значення. Спробуйте ще раз." << endl;
        goto startprogram;
    }
    return 0;
}
Програма запитує, яку саме дію слід виконати, а потім перевіряє відповідь за допомогою оператора if. Якщо було введене число 1, відбувається перетворення з Цельсія у Фаренгейта, якщо 2 – навпаки. У випадку, якщо був уведений якийсь інший символ, відмінний від 1 і 2, програма попереджає про це і повертається на початок (оператор goto).

Про оператор goto слід поговорити окремо, оскільки я вперше його використав на цьому сайті. Він дозволяє перенести виконання програми у будь-яке місце коду. Необхідно лише поставити в потрібному місці мітку
tag: // сюди буде переходити програма
Зверніть увагу – після мітки обов'язково ставиться двокрапка. Це і відрізняє мітку від інших операторів.
А там, звідки треба перескочити на мітку, вводимо:
goto tag;
Дослівно – «іди до мітки». Після оператора goto та назви мітки ставимо крапку з комою.

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

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

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

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