Write a program to accept number of seconds and display its corresponding hours, minutes and seconds
This is a simple C program that demonstrates how to convert seconds into hours, minutes, and seconds. The program takes user input for the number of seconds and then performs the necessary calculations (division & modulus) to provide the result in a human-readable format.
Tutorial 📺
Flow Chart 🌻
Let’s have a look at the flow chart.
Code 💻
#include <stdio.h>
#include <conio.h>
void main()
{
int h=0, m=0, s=0; // h-hours, m-minutes and s-seconds
clrscr();
printf("Please enter the number of seconds:\n");
scanf("%d", &s); // Input: 3663
/*
We know that, 1 hour = 3600 seconds
So if we divide variable "s" by 3600, we will get hours
*/
h = s / 3600; // h = 3663/3600 = 1
// Now, since we have got hours, so let's update variable "s"
s = s % 3600; // s = 3663%3600 = 63
// 1 minute = 60 seconds
m = s / 60; // m = 63/60 = 1
// Again, update variable "s"
s = s % 60; // s = 63%60 = 3
printf("\nHours: %d", h);
printf("\nMinutes: %d", m);
printf("\nSeconds: %d", s);
getch();
}
Explanation 🤔
- The program starts with the main() function by initializing three integer variables,
h
for hours,m
for minutes, ands
for seconds, all set to 0. - The
clrscr()
function is used to clear the screen. - The user is prompted to enter the number of seconds he or she wants to convert. Let’s imagine, the input in this case is 3663 seconds.
- Next, the conversion takes place as following:
h
is calculated by dividing the inputs
by 3600 (since 1 hour is equivalent to 3600 seconds). In this example,h
becomes 1.- The remaining seconds are obtained by taking the modulus of
s
by 3600, which leaves 63 seconds. m
is calculated by dividing the remaining seconds by 60, as 1 minute equals 60 seconds. In this case,m
becomes 1.- The remaining seconds are again updated by taking the modulus of
s
by 60, resulting in 3 seconds.
- Finally, the program displays the converted values for hours, minutes, and seconds individually.
Comments