Add time using structures in C++

Add Time Using Structures

This is a C++ implementation of adding time using structures or struct. A structure is a convenient tool for handling a group of logically related data items. Structure help to organize complex data is a more meaningful way. It is powerful concept that we may after need to use in our program Design.

Write a program having a structure named Time which has three integer data items i.e. hour, minute and second. The task is to add the variables of the Time data type though a function

void AddTime(Time *time1, Time *time2)

which takes as arguments the addresses of two Time type variables, adds these variables and stores the result in time2. The function must satisfy the following:

  1. If second exceeds 60 then add 1 in minutes and subtract 60 from seconds.
  2. If minute exceeds 60 then add 1 in hours and subtract 60 from minutes.
  3. If hour exceeds 24 then subtract 24 from hours.

Test this function and print the result in the calling function.

// Acknowledgment: Wahib-ul-Haq
 
#include<iostream>
#include<conio.h>
 
using namespace std;
 
struct Time {
    int hour, minute, second;
};
 
void AddTime(Time * , Time * );
 
int main() {
    Time var1, var2;
    for (int i = 0; i < 1; i++) {
        cout << "for structure variable #" << i + 1 << " Enter the hours:";
        cin >> var1.hour;
        cout << "for structure variable #" << i + 1 << " Enter the minutes:";
        cin >> var1.minute;
        cout << "for structure variable #" << i + 1 << " Enter the seconds:";
        cin >> var1.second;
        cout << endl << endl;
 
        cout << "for structure variable #" << i + 2 << " Enter the hours:";
        cin >> var2.hour;
        cout << "for structure variable #" << i + 2 << " Enter the minutes:";
        cin >> var2.minute;
        cout << "for structure variable #" << i + 2 << " Enter the seconds:";
        cin >> var2.second;
 
    }
 
    AddTime( &var1, &var2);
 
    cout << "\nNew hours = " << var2.hour;
    cout << "\nNew minutes = " << var2.minute;
    cout << "\nNew seconds = " << var2.second;
    cout << endl;
}
 
void AddTime(Time * time1, Time * time2) {
 
    time2 -> hour += time1 -> hour;
    time2 -> minute += time1 -> minute;
    time2 -> second += time1 -> second;
 
    if (time2 -> second > 60) {
        time2 -> minute += 1;
        time2 -> second -= 60;
    }
 
    if (time2 -> minute > 60) {
        time2 -> hour += 1;
        time2 -> minute -= 60;
    }
 
    if (time2 -> hour > 24) {
        time2 -> hour -= 24;
    }
 
}

Output of the C++ Program

for structure variable #1 Enter the hours:2
for structure variable #1 Enter the minutes:10
for structure variable #1 Enter the seconds:20


for structure variable #2 Enter the hours:2
for structure variable #2 Enter the minutes:10
for structure variable #2 Enter the seconds:20

New hours = 4
New minutes = 20
New seconds = 40

 

M. Saqib: Saqib is Master-level Senior Software Engineer with over 14 years of experience in designing and developing large-scale software and web applications. He has more than eight years experience of leading software development teams. Saqib provides consultancy to develop software systems and web services for Fortune 500 companies. He has hands-on experience in C/C++ Java, JavaScript, PHP and .NET Technologies. Saqib owns and write contents on mycplus.com since 2004.
Related Post