Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Sử dụng struct để biểu diễn và hiển thị giờ, phút, giây

Sử dụng struct để biểu diễn và hiển thị giờ, phút, giây

Yêu cầu: Viết chương trình sử dụng struct để biểu diễn và hiển thị giờ, phút, giây và tính toán khoảng thời gian giữa 2 mốc thời gian(h/m/s)

Code:
/**************************************************************************/
#include <stdio.h>
#include <conio.h>

typedef struct
{
int h;
int m;
int s;
}TIME, *PTIME;

void importTime(PTIME time);
void dispTime(TIME time);
TIME calcTime(TIME time1, TIME time2);

void main()
{
TIME time1,time2,time;
//time1
importTime(&time1);
printf("\n(Time 1) ");
dispTime(time1);
//time2
importTime(&time2);
printf("\n(Time 2) ");
dispTime(time2);
// time = |tim1 - time2|;
printf("\n(Time 2 - Time 1) ");
time = calcTime(time1, time2);
dispTime(time);
getch();
}

/*****************************************************************
Description: - display time like hh:mm:ss
return : void
******************************************************************/
void dispTime(TIME time)
{
printf("hh:mm:ss = %.2d:%.2d:%.2d\n", time.h, time.m, time.s);
}

/*****************************************************************
Description: - import time
- save h,m,s to struct time
- return : void
******************************************************************/
void importTime(PTIME time)
{
int h,m,s;
printf("\nImport time:");
// Hour
do
{
printf("\nGio: ");
scanf("%d", &h);
} while (h < 0 || h > 23);
// Minute
do
{
printf("\nPhut: ");
scanf("%d", &m);
} while (m < 0 || m > 59);
// Sencond
do
{
printf("\nGiay: ");
scanf("%d", &s);
} while (s < 0 || s > 59);

//save this time to struct
time->h = h;
time->m = m;
time->s = s;
}

TIME calcTime(TIME time1, TIME time2)
{
int s1 = 0, s2 = 0;
int s;
TIME time;
s1 = 60*60*time1.h + 60*time1.m + time1.s;
s2 = 60*60*time2.h + 60*time2.m + time2.s;
s = s1 - s2;
if(s < 0)
{
s = (-1)*s;
}
time.m = s/60;
time.s = s%60;
time.h = time.m/60;
time.m = time.m%60;

return time;
}

Kết quả:

Yêu cầu: Viết chương trình sử dụng struct để biểu diễn và hiển thị giờ, phút, giây và tính toán khoảng thời gian giữa 2 mốc thời gian(h/m/s) Code: Kết quả: [crayon-5d62af91e30fb246299446/]

User Rating: 5 ( 1 votes)

About ngoton

Ngô Tôn is a programmer with passion for tailored software solutions. Comes with 6+ years of IT experience, to execute beautiful front-end experiences with secure and robust back-end solutions.

Check Also

Xây dựng hàm bạn để tính diện tích hình chữ nhật

Yêu cầu: Xây dựng hàm bạn để tính diện tích hình chữ nhật Code: Giải …

Leave a Reply

Your email address will not be published. Required fields are marked *