原文: https://www.programiz.com/cpp-programming/examples/time-structure
要理解此示例,您应该了解以下 C++ 编程主题:
示例:程序与时间差异
// Computes time difference of two time period// Time periods are entered by the user#include <iostream>using namespace std;struct TIME{int seconds;int minutes;int hours;};void computeTimeDifference(struct TIME, struct TIME, struct TIME *);int main(){struct TIME t1, t2, difference;cout << "Enter start time." << endl;cout << "Enter hours, minutes and seconds respectively: ";cin >> t1.hours >> t1.minutes >> t1.seconds;cout << "Enter stop time." << endl;cout << "Enter hours, minutes and seconds respectively: ";cin >> t2.hours >> t2.minutes >> t2.seconds;computeTimeDifference(t1, t2, &difference);cout << endl << "TIME DIFFERENCE: " << t1.hours << ":" << t1.minutes << ":" << t1.seconds;cout << " - " << t2.hours << ":" << t2.minutes << ":" << t2.seconds;cout << " = " << difference.hours << ":" << difference.minutes << ":" << difference.seconds;return 0;}void computeTimeDifference(struct TIME t1, struct TIME t2, struct TIME *difference){if(t2.seconds > t1.seconds){--t1.minutes;t1.seconds += 60;}difference->seconds = t1.seconds - t2.seconds;if(t2.minutes > t1.minutes){--t1.hours;t1.minutes += 60;}difference->minutes = t1.minutes-t2.minutes;difference->hours = t1.hours-t2.hours;}
输出
Enter hours, minutes and seconds respectively: 113352Enter stop time.Enter hours, minutes and seconds respectively: 81215TIME DIFFERENCE: 11:33:52 - 8:12:15 = 3:21:37
在该程序中,要求用户输入两个时间段,这两个时间段分别存储在结构变量t1和t2中。
然后,computeTimeDifference()函数计算时间段之间的时差,结果从main()函数显示在屏幕上,而不会返回(通过引用调用)。
