Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

C++ program to convert/normalize the given time into standard form

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given three variables that represent the hours, minutes, and the second, the task is to write a C++ program to normalize/convert the given time into standard form i.e., HR: MIN: SEC format.

Examples:

Input: HR = 5, MIN = 125, SEC = 130
Output: 7:7:10

Approach: To normalize the given time, below are the functions/steps using the class:

  • 3 variables are defined to store the value of hours, minutes, and second respectively.
int HR, MIN, SEC;
where HR represents hours,
      MIN represents minutes and
      SEC represents seconds
  • setTime() function to set values of HR, MIN and SEC:
void setTime(int x, int y, int z)
{
    x = HR;
    y = MIN;
    z = SEC;
}
  • showTime() to display the time:
void showTime()
{
    cout << HR << ":" << MIN << ":" << SEC;
}
  • normalize() function to convert the resultant time into standard form. Normalizing the time by converting it according to the standard time format as:
void normalize()
{
    MIN = MIN + SEC/60;
    SEC = SEC%60;
    HR  = HR + MIN/60;
    MIN = MIN%60;
}

 Illustration: For Example Time: 5: 125: 130

  • To normalize the time:
    • First, divide the SEC by 60 and to find the minutes and add it into MIN,
    • so, 125+(130/60) =125+2 = 127.
  • Then take the modulo of SEC to find the seconds 130 % 60 = 10.
  • Now, divide MIN by 60 find the hours, and add it into HR, 5+(127/60) = 5+2= 7.
  • Lastly take modulus of MIN to find the minutes, 127 % 60 = 7, So, HR= 7, MIN= 7, SEC= 10.
  • Therefore, the result is 7: 7: 10

Below is the implementation of the above approach:

C++




// C++ program to normalize the given
// time into standard form
#include <conio.h>
#include <iostream>
using namespace std;
 
// Time class
class Time {
private:
    // Instance variables
    int HR, MIN, SEC;
 
public:
    void setTime(int, int, int);
    void showTime();
    void normalize();
};
 
// Function that sets the given time
void Time::setTime(int h, int m, int s)
{
    HR = h;
    MIN = m;
    SEC = s;
}
 
// Function to show the given time
void Time::showTime()
{
    cout << endl
         << HR << ":"
         << MIN << ":" << SEC;
}
 
// Function to normalize the given
// time into standard form
void Time::normalize()
{
    // Convert the time into the
    // specific format
    MIN = MIN + SEC / 60;
    SEC = SEC % 60;
    HR = HR + MIN / 60;
    MIN = MIN % 60;
}
 
// Driver Code
int main()
{
    // Object of class Time
    Time t1;
 
    t1.setTime(5, 125, 130);
    t1.showTime();
 
    // Normalize the time
    t1.normalize();
    t1.showTime();
 
    return 0;
}


Output:


My Personal Notes arrow_drop_up
Last Updated : 06 Sep, 2021
Like Article
Save Article
Similar Reads