은 PC의 현재 시간을 가져 와서 트래픽이 있는지 여부를 표시하는 C 프로그램을 만들어야합니다.c에서 비교를 위해 무엇을 사용할 것인가?
교통 모든 : 오전 7시에서 오전 10시까지 & & 17pm - 19pm
시간 비교에 도움이 필요합니다. 메신저 경우 다른 사용합니다.
경우 ((MYTIME> 7 & & MYTIME < 10) & & (MYTIME> 17 & & MYTIME < 19))
은 PC의 현재 시간을 가져 와서 트래픽이 있는지 여부를 표시하는 C 프로그램을 만들어야합니다.c에서 비교를 위해 무엇을 사용할 것인가?
교통 모든 : 오전 7시에서 오전 10시까지 & & 17pm - 19pm
시간 비교에 도움이 필요합니다. 메신저 경우 다른 사용합니다.
경우 ((MYTIME> 7 & & MYTIME < 10) & & (MYTIME> 17 & & MYTIME < 19))
사용 ||
(OR) 대신 &&
(AND). 아니면 결코 작동하지 않을 것입니다.
그리고, 시간을 얻을처럼 뭔가 할 :
#include <stdio.h>
#include <time.h>
int main() {
time_t now = time(NULL);
struct tm *now_tm = localtime(&now);
int hour = now_tm->tm_hour;
if ((hour > 7 && hour < 10) || (hour > 17 && hour < 19))
printf("traffic\n");
else
printf("smooth\n");
return 0;
}
오오. 그것을 시도했다. 아침 8시 46 분에 인쇄하지만 인쇄는 부드럽습니다. 그것은 트래픽이어야합니다 –
당신이 트래픽을 인쇄하는 경우와 그렇지 않은 경우 원활하게 인쇄하고 있습니까? –
@Nina_Jenner 시간을 어떻게 표현합니까? 위의 코드는 'mytime'에 시간이 포함되어 있다고 가정합니다. – Barmar
심지어 초 (출처 : http://www.cplusplus.com/reference/ctime/difftime/)를 사용할 수 있습니다,이 같은 :
#include <stdio.h>
#include <time.h>
int main()
{
time_t now;
struct tm newyear;
struct tm _7am;
struct tm _10am;
struct tm _5pm;
struct tm _7pm;
double mytime;
double s_7am, s_10am, s_5pm, s_7pm;
time(&now);
newyear = *localtime(&now);
newyear.tm_hour = 0; newyear.tm_min = 0; newyear.tm_sec = 0;
newyear.tm_mon = 0; newyear.tm_mday = 1;
_7am = *localtime(&now);
_7am.tm_hour = 7; _7am.tm_min = 0; _7am.tm_sec = 0;
s_7am = difftime(mktime(&_7am),mktime(&newyear));
_10am = *localtime(&now);
_10am.tm_hour = 10; _10am.tm_min = 0; _10am.tm_sec = 0;
s_10am = difftime(mktime(&_10am),mktime(&newyear));
_5pm = *localtime(&now);
_5pm.tm_hour = 17; _5pm.tm_min = 0; _5pm.tm_sec = 0;
s_5pm = difftime(mktime(&_5pm),mktime(&newyear));
_7pm = *localtime(&now);
_7pm.tm_hour = 19; _7pm.tm_min = 0; _7pm.tm_sec = 0;
s_7pm = difftime(mktime(&_7pm),mktime(&newyear));
mytime = difftime(now,mktime(&newyear));
if ((mytime > s_7am && mytime < s_10am) || (mytime > s_5pm && mytime < s_7pm)){
printf("Traffic!");
}else{
printf("Smooth...");
}
return 0;
}
글쎄, 그건 아마해야한다에 " 또는 "최상위 레벨 (중간 운영자)에서. 현재 시간이 오전 * 또는 * 저녁인지 확인해야합니다. 분명히 현재 시간은 결코 아침에 *와 * 저녁에 동시에있을 수 없습니다. 또한,'mytime' 변수의 타입이 무엇인지 불분명합니다. – unwind