Почему код не работает? не понимаю. Visual studio 2019

#include <iostream>


int main()
{
    setlocale(LC_ALL, "Russian");
    int h1, min1, h2, min2, h, min;

    std::cout << "Введите кол-во часов: " << std::endl;
    std::cin  >> h1;
    std::cout << "Введите кол-во минут: " << std::endl;
    std::cin  >> min1;
    std::cout << "Введите кол-во часов: " << std::endl;
    std::cin >> h2;
    std::cout << "Введите кол-во минут: " << std::endl;
    std::cin  >> min2;
    if ((min2 - min1) >= 0) && ((h2 - h1) >= 0)
    {
        h = h2 - h1;
        min = min2 - min1;
        std::cout << "Кол-во затраченных часов: " << h << std::endl;
        std::cout << "Кол-во затраченных минут: " << min << std::endl;
    }

    else if ((min2 - min1) < 0) && ((h2 - h1) >= 0)
    {
        h = h2 - h1 - 1;
        min = 60 + (min2 - min1);
        std::cout << "Кол-во затраченных часов: " << h << std::endl;
        std::cout << "Кол-во затраченных минут: " << min << std::endl;
    }
    
    else if ((min2 - min1) >= 0) && ((h2 - h1) < 0)
    {
        h = 24 - h1;
        min = min2 - min1;
        std::cout << "Кол-во затраченных часов: " << h << std::endl;
        std::cout << "Кол-во затраченных минут: " << min << std::endl;
    }

    else if ((min2 - min1) < 0) && ((h2 - h1) < 0)
    {
        h = 24 - h1;
        min = 60 + (min2 - min1);
        std::cout << "Кол-во затраченных часов: " << h << std::endl;
        std::cout << "Кол-во затраченных минут: " << min << std::endl;
    }


    return 0;
}

Ответы (1 шт):

Автор решения: Mikhailo

Как правильно выглядит оператор if?

if (условие) { ... }

А у вас?

if ((min2 - min1) >= 0) && ((h2 - h1) >= 0)

Т.е.

if (условие1) && (условие2) { ... }

Вы забыли скобки вокруг составного условия.

О русском языке см. Русский язык в консоли

→ Ссылка