🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# C++ 程序:计算两个时间段之间的差异 > 原文: [https://www.programiz.com/cpp-programming/examples/time-structure](https://www.programiz.com/cpp-programming/examples/time-structure) 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ 结构](/cpp-programming/structure) * [C++ 结构和函数](/cpp-programming/structure-function) * [C++ 指向结构的指针](/cpp-programming/structure-pointer) * * * * * * ## 示例:程序与时间差异 ```cpp // 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; } ``` **输出** ```cpp Enter hours, minutes and seconds respectively: 11 33 52 Enter stop time. Enter hours, minutes and seconds respectively: 8 12 15 TIME DIFFERENCE: 11:33:52 - 8:12:15 = 3:21:37 ``` 在该程序中,要求用户输入两个时间段,这两个时间段分别存储在结构变量`t1`和`t2`中。 然后,`computeTimeDifference()`函数计算时间段之间的时差,结果从`main()`函数显示在屏幕上,而不会返回(通过引用调用)。