查找经过的时间
Finding the elapsed time
这是我目前所做的。我正在学习结构,我必须在作业中使用结构。我不知道我的代码出了什么问题。当我调试时,每小时,每分钟,每秒都是0。请看看我的代码。
#include <stdio.h>
struct calculate
{
int hours;
int minutes;
int seconds;
};
struct calculate N1;
struct calculate N2;
int resulthr, resultmin, resultsec;
int substract(struct calculate N1, struct calculate N2)
{
resultsec = N2.seconds - N1.seconds;
if (resultsec < 0)
{
resultsec = 60 + resultsec;
--N2.minutes;
}
resultmin = N2.minutes - N1.minutes;
if (resultmin < 0)
{
resultsec = 60 + resultmin;
--N2.hours;
}
resulthr = N2.hours - N1.hours;
if (resulthr < 0)
{
resulthr = 24 + resultsec;
}
return 0;
}
int main(void)
{
printf("Enter two times.(hh:mm:ss) ");
scanf("%i:%i:%i", &N1.hours, &N1.minutes, &N1.seconds);
scanf("%i:%i:%i", &N2.hours, &N2.minutes, &N2.seconds);
int substract(calculate N1, calculate N2);
printf("The elasped time is %i:%i:%i.n", resulthr, resultmin, resultsec);
return 0;
}
https://i.stack.imgur.com/VlYVL.png main
函数中的int substract(calculate N1, calculate N2);
行不调用先前定义的subtract
方法,但它实际上声明了另一个同名的函数。要实际调用该方法,可以这样写:
int res = subtract(N1, N2);
之后res
应该是0,(全局)变量resulthr,resultmin,resultsec
应该是期望的值。
调用 substrate (N1, N2);代替int substrate (calculate N1, calculate N2);在main函数
你是在声明它,而不是调用它。
相关文章:
- 为什么根据测量位置测量经过的时间时会有很大的不同?
- 如何比较两个经过的时间?
- 为什么这个经过的时间(帧时间)计算会锁定我的游戏
- 获取标准::未来<T>::wait_for的经过时间
- C++ 时间机器无法正确计算经过的时间量
- 填充 unordered_map (c++) 后 malloc 的经过时间
- 自当地时间上午8点以来,将时间经过的时间与Boost
- 如何获得Microsoft TTS演讲的经过的时间
- 获取自C++执行以来经过时间的最干净,最简单的方法
- 在 Linux 中,非常高的经过(挂钟)时间和低系统时间的含义
- 16.66ms 帧时间.当 sleep() 只经过整毫秒时,你如何获得完美的 60 fps
- 以格式化字符串的形式获取经过的时间
- 如何在C++中检查经过的时间和分配的内存
- 在visualc++2010中经过的时间
- 如何在没有计时器的情况下确定经过了多少时间
- 如何获得自SFML中按下键以来经过的时间
- 两个时间之间经过的时间,格式为24小时hh:mm:ss
- 如何从steady_clock返回经过的时间作为原始数据类型(double)
- 查找经过的时间
- 在经过时间后做某事C++SFML 2