?? time.cpp
字號:
//time.cpp
//時間計算
#include "StdAfx.h"
#include "typedef.h"
#include <stdio.h>
#include <time.h>
#include <string.h>
// 名稱:times
// 作用:計算時間長度
// 參數:兩個含有六個(int)元素的時刻數組(年,月,日,時,分,秒)
// 返回值:時間長度的數組指針(int *)
void times_segment(int ptime[],int ltime[],int re_time[])
{
unsigned long min_ptime = ptime[4] + ptime[3] * 60 + ptime[2] * 24 + ptime[1] * 30;
unsigned long min_ltime = ltime[4] + ltime[3] * 60 + ltime[2] * 24 + ltime[1] * 30;
unsigned long min_re_time = min_ltime - min_ptime;
printf("%l",min_re_time);
re_time[4] = min_re_time % 60; /*分鐘*/
re_time[3] = (min_re_time - re_time[4])/60 % 24; /*小時*/
re_time[2] = (min_re_time - re_time[3]*60 - re_time[4])/24 % 30; /*日*/
re_time[1] = (min_re_time - re_time[2]*24 - re_time[3]*60 - re_time[4])/30 % 365;
}
// 名稱:now_time
// 作用:獲取當前系統時間
// 參數:空
// 返回值:含有六個(int)元素數組的指針
int * now_time(void)
{
int system_time[6];
int *p_stime = system_time;
time_t nowtime;
struct tm *timeinfo;
time(&nowtime);
timeinfo = localtime(&nowtime);
system_time[0] = timeinfo->tm_year+1900; //年
system_time[1] = timeinfo->tm_mon+1; //月
system_time[2] = timeinfo->tm_mday; //日
system_time[3] = timeinfo->tm_hour; //時
system_time[4] = timeinfo->tm_min; //分
system_time[5] = timeinfo->tm_sec+1; //秒
return p_stime;
}
// 名稱:car_pay
// 作用:計算停車費用
// 參數:停車時間,離開時間,每小時價格
// 返回值:停車費用(結果四舍五入,保留一位小數)
void car_pay(int list_i)
{
unsigned long time_min = (carlist->buffer[list_i].time[2] * 24 + carlist->buffer[list_i].time[3]) * 60 + carlist->buffer[list_i].time[4]; //把時間換算成分鐘
float min_pay = (float)(carlist->buffer[list_i].price/60.0);
carlist->buffer[list_i].pay = time_min * min_pay;
int pay_int = (int)(carlist->buffer[list_i].pay * 100); //結果四舍五入,保留一位小數
pay_int = (pay_int + 5)/10;
carlist->buffer[list_i].pay = (float)pay_int/10;
//********************************************************* Debug
#ifdef DEBUG
printf("\n\nDebug\n");
printf("The temp time.\n");
for (int ii=0; ii<6; ii++)
{
printf("time[%d] = %d\n",ii,carlist->buffer[list_i].time[ii]);
}
printf("\n\ntime_min = %ld",time_min);
printf("\ntime_min * min_pay = %d",(time_min * min_pay));
printf("\npay = %f",carlist->buffer[list_i].pay);
printf("\n\n");
getch();
#endif
//**********************************************************
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -