穷死只有20分了,菜鸟继续发问...
/*
请高手们帮我完成这个小程序。
程序的目的是想实现由当前时间来判断出“早中晚”的结果。
另外,还想知道如何遍历并罗列出枚举数据的各项成员的名字,如本例中的“早、中、晚”?
*/
#include <windows.h>
#include <iostream.h>
enum hour{早,中,晚};
void main()
{
dateTime i; //希望有一个可以表示时间的数据类型
int j;
cout<<"输入时间(如:21:25)"<<endl;
cin>>i; //此处是通过手工敲入格式时间的方法,但我更想知道如何自动得到当前的系统时间?
j=go(i);
cout<<j<<endl; //得到数字就行了。我的目的就达到了。
}
int go(dataTime _dt)
{
switch (_dt)
{
case:从00:01到08:00 //希望像vb的“1 To 10”那样方便的表达式
return hour.早;
break;
case:从08:01到16:00
return hour.中;
break;
case:从16:01到00:00
return hour.晚;
break;
}
}
问题点数:20、回复次数:8Top
1 楼idau7((小i不怕)我爱Eva)回复于 2005-01-27 23:09:13 得分 1
你参考就在前面的一个关于系统时间获取的帖子看看。刚发的。Top
2 楼kunun()回复于 2005-01-27 23:26:50 得分 7
#include <iostream.h>
#include <windows.h>
void main()
{
SYSTEMTIME Today;
GetSystemTime(&Today);
cout<<Today.wYear<<endl; //年
cout<<Today.wMonth<<endl; //月
cout<<Today.wDay<<endl; //日
cout<<Today.wHour<<endl; //时------为什么小时好像不对?
cout<<Today.wMinute<<endl; //分 我在23:00以后时,得到
cout<<Today.wSecond<<endl; //秒 的怎么是15,而不是23?
}
Top
3 楼soyan(埋伏十年)回复于 2005-01-28 00:10:37 得分 0
楼主是想把时间类型转成INT吧Top
4 楼soyan(埋伏十年)回复于 2005-01-28 01:08:21 得分 8
#include <iostream.h>
#include <windows.h>
int go(int i);
void main()
{
int j;
SYSTEMTIME sytime;
GetSystemTime(&sytime);
int h=sytime.wHour;
j=go(h);
cout<<j;
}
int go(int a)
{
enum hour{morning,noon,night};
if(0<=a && a<=8)
{
return morning;
}
if(8<=a && a<=16)
{
return noon;
}
if(16<=a && a<=24)
{
return night;
}
}Top
5 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2005-01-28 09:33:12 得分 0
看不懂带有中文的。。。Top
6 楼xmlscript(C++还真是个好东西)回复于 2005-01-28 12:15:37 得分 0
哦,原来GetSystemTime是个API呀,懂了懂了。
可是却没有像.net里那样的DateTime的格式,只能通过GetSystemTime分别得到年、月、日、时、分、秒吗?
那时间的运算如何实现呢?
比如:
(2005/07/28 17:45) - (2004/11/30 03:15) = ?Top
7 楼zhengwei1984222(阿什坎迪.兄弟会之剑)回复于 2005-01-28 22:54:42 得分 0
GetSystemTime得到的是格林威治时间吧
换成bj time 估计还得转换一下Top
8 楼zhengwei1984222(阿什坎迪.兄弟会之剑)回复于 2005-01-28 22:57:30 得分 4
那时间的运算如何实现呢?
比如:
(2005/07/28 17:45) - (2004/11/30 03:15) = ?
---------------------
可以自己函数实现啊
如果有现成的更好,不过不是高手的我不知
Top




