c++中如何声明一个时间的结构体,可以精确表示年,月,日,时,分,秒。提示用户输入时间,并完整表示出来
4个回答
展开全部
在Win32程序汇编中默认就有SYSTEMTIME类数据结构,也就是时间的结构体
下面是编译器自动生成的SYSTEMTIME结构体代码:
SYSTEMTIME STRUCT
{
WORD wYear ; 年
WORD wMonth ;月
WORD wDayOfWeek ;星期,0=星期日,1=星期一...
WORD wDay ;日
WORD wHour ;时
WORD wMinute ;分
WORD wSecond ;秒
WORD wMilliseconds ;毫秒
}SYSTEMTIME ENDS
结构中的字段全为word类型,而Win32程序中用的往往是dword型变量,所以在使用这些数据之前往往要先把它们转换为dword类型,用movzx指令就可以实现。
与获取系统时间的函数相对应,可以用下面的两个函数设置系统时间:
invoke SetLocalTime,lpSystemTime;获取本地时间
invoke SetSystemTime,lpSystemTime;获取格林威治标准时间
你可以照着这个写,定义好结构体后让用户输入并保存起来
至于那个WORD,自己写程序你完全可以把改成熟悉的int
下面是编译器自动生成的SYSTEMTIME结构体代码:
SYSTEMTIME STRUCT
{
WORD wYear ; 年
WORD wMonth ;月
WORD wDayOfWeek ;星期,0=星期日,1=星期一...
WORD wDay ;日
WORD wHour ;时
WORD wMinute ;分
WORD wSecond ;秒
WORD wMilliseconds ;毫秒
}SYSTEMTIME ENDS
结构中的字段全为word类型,而Win32程序中用的往往是dword型变量,所以在使用这些数据之前往往要先把它们转换为dword类型,用movzx指令就可以实现。
与获取系统时间的函数相对应,可以用下面的两个函数设置系统时间:
invoke SetLocalTime,lpSystemTime;获取本地时间
invoke SetSystemTime,lpSystemTime;获取格林威治标准时间
你可以照着这个写,定义好结构体后让用户输入并保存起来
至于那个WORD,自己写程序你完全可以把改成熟悉的int
展开全部
C++系统本身就已经定义好了这样的时间结构类型,在MSDN里面是这样的:
typedef struct _SYSTEMTIME {
WORD wYear;//表示年,有效范围是1601 到30827
WORD wMonth;//表示月,有效范围1~12。
WORD wDayOfWeek;//表示星期,星期一~星期日
WORD wDay;//表示天,1~31
WORD wHour;//表示小时,0~23
WORD wMinute;//表示分,0~59
WORD wSecond;//表示秒,0~59
WORD wMilliseconds;//表示毫秒,0~999
} SYSTEMTIME, *PSYSTEMTIME;
具体说明可以参考MSDN里面的介绍。
typedef struct _SYSTEMTIME {
WORD wYear;//表示年,有效范围是1601 到30827
WORD wMonth;//表示月,有效范围1~12。
WORD wDayOfWeek;//表示星期,星期一~星期日
WORD wDay;//表示天,1~31
WORD wHour;//表示小时,0~23
WORD wMinute;//表示分,0~59
WORD wSecond;//表示秒,0~59
WORD wMilliseconds;//表示毫秒,0~999
} SYSTEMTIME, *PSYSTEMTIME;
具体说明可以参考MSDN里面的介绍。
参考资料: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724950(v=vs.85).aspx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VC编译运行通过
#include<stdio.h>
#include<stdlib.h>
void main()
{
struct time{
int year;
int mouth; //声明一个结构体,它的成员依次是年月日时分秒
int day;
int minuter;
int second;
};
time pt;
printf("input the current time\n");
scanf("%d%d%d%d%d",&pt.year,&pt.mouth,&pt.day,&pt.minuter,&pt.second);
printf("the time is %d%d%d%d%d\n",pt.year,pt.mouth,pt.day,pt.minuter,pt.second);
}
#include<stdio.h>
#include<stdlib.h>
void main()
{
struct time{
int year;
int mouth; //声明一个结构体,它的成员依次是年月日时分秒
int day;
int minuter;
int second;
};
time pt;
printf("input the current time\n");
scanf("%d%d%d%d%d",&pt.year,&pt.mouth,&pt.day,&pt.minuter,&pt.second);
printf("the time is %d%d%d%d%d\n",pt.year,pt.mouth,pt.day,pt.minuter,pt.second);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要一个能运行成功的程序?
那我得找个VC才能写 如果不需要成功 我可以写一下
那我得找个VC才能写 如果不需要成功 我可以写一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询