Предмет: Информатика, автор: OderaaOrwa

На языке С++! Помогите, пожалуйста.

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

Ответы

Автор ответа: WellUnknownUser
2

Ответ:

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

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;

}

Объяснение:


OderaaOrwa: чекнул первый. сравнил мой и твой ответ, на удивление правильный. спасибо!
Похожие вопросы