Вопрос задан 25.11.2023 в 02:03. Предмет Информатика. Спрашивает Николаев Коля.

На языке С++! Помогите, пожалуйста. Студент начал решать задачи данного урока программирования,

когда электронные часы показывали h1 часов и min1 минут, а закончил, когда было h2 часов и min2 минут. Составьте программу, позволяющую определить, сколько времени студент решал эти задачи. (Будем считать, что задачи решались не дольше суток).
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Некрашевич Таня.

Ответ:

Если не заморачиваться с проверками:

1)

#include <iostream>

using namespace std;

int main()

{

   unsigned short int h1,h2,m1,m2;

   cout << "Enter start time: ";

   cin >> h1 >> m1;

   cout << "Enter end time: ";

   cin >> h2 >> m2;

   unsigned short int SpendedTime = (h2 * 60 + m2) - (h1 * 60 + m1);

   unsigned short int SpendedHours = SpendedTime / 60;

   unsigned short int SpendedMinutes = SpendedTime - SpendedHours * 60;

   cout << "Spended time: ";

   

   if(SpendedHours != 0){

       cout << SpendedHours;

       if(SpendedHours != 1){

           cout << " hours";

       }else{

           cout << " hour";

       }

       cout << " and ";

   }

   

   cout << SpendedMinutes;

   

   if(SpendedMinutes != 1){

       cout << " minutes";

   }else{

       cout << " minute";

   }

   return 0;

}

Если заморачиваться:

2)

#include <iostream>

using namespace std;

int main()

{

   unsigned short int h1,h2,m1,m2;

   bool Passed = false;

   while(Passed != true){

       cout << "Enter start time: ";

       cin >> h1 >> m1;

       cout << "Enter end time: ";

       cin >> h2 >> m2;

       if(h2 >= h1){

           if(h2 > h1){

               Passed = true;

               break;

           }else{

               if(m2 >= m1){

                   Passed = true;

                   break;

               }

           }

       }

       cout << "Error: entered wrong time interval \n";

   }

   unsigned short int SpendedTime = (h2 * 60 + m2) - (h1 * 60 + m1);

   unsigned short int SpendedHours = SpendedTime / 60;

   unsigned short int SpendedMinutes = SpendedTime - SpendedHours * 60;

   cout << "Spended time: ";

   

   if(SpendedHours != 0){

       cout << SpendedHours;

       if(SpendedHours != 1){

           cout << " hours";

       }else{

           cout << " hour";

       }

       cout << " and ";

   }

   

   cout << SpendedMinutes;

   

   if(SpendedMinutes != 1){

       cout << " minutes";

   }else{

       cout << " minute";

   }

   

   return 0;

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам написать программу на языке C++, которая решит данную задачу. Вот пример:

```cpp #include

int main() { // Ввод времени начала и окончания решения задач int h1, min1, h2, min2; std::cout << "Введите время начала решения задач (часы минуты): "; std::cin >> h1 >> min1;

std::cout << "Введите время окончания решения задач (часы минуты): "; std::cin >> h2 >> min2;

// Проверка ввода на корректность if (h1 < 0 || h1 > 23 || min1 < 0 || min1 > 59 || h2 < 0 || h2 > 23 || min2 < 0 || min2 > 59) { std::cerr << "Ошибка ввода времени. Пожалуйста, введите корректные значения.\n"; return 1; // Возврат кода ошибки }

// Вычисление времени решения задач int totalMinutes1 = h1 * 60 + min1; // время начала в минутах int totalMinutes2 = h2 * 60 + min2; // время окончания в минутах

int totalTimeInMinutes = (totalMinutes2 - totalMinutes1 + 24 * 60) % (24 * 60); // общее время в минутах

// Перевод общего времени обратно в часы и минуты int totalTimeHours = totalTimeInMinutes / 60; int totalTimeMinutes = totalTimeInMinutes % 60;

// Вывод результата std::cout << "Студент решал задачи " << totalTimeHours << " часов и " << totalTimeMinutes << " минут.\n";

return 0; } ```

Эта программа сначала запрашивает у пользователя время начала и окончания решения задач. Затем она проверяет ввод на корректность (чтобы часы были в пределах 0-23, а минуты в пределах 0-59). После этого она вычисляет общее время в минутах, затем переводит его обратно в часы и минуты, и выводит результат.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос