永发信息网

C++,我想输出枚举里面的常数,要怎么改

答案:4  悬赏:60  手机版
解决时间 2021-02-06 16:00
#include
using namespace std;

enum Day {Mday = 1, Tuday, Wday, Tday, Fday, Sday, Suday};

struct Date
{
int year;
int month;
int day;
};

struct DayDate
{
Day OneDay;
Date SomeDate;
};

DayDate WenDidIthappen();

int main()
{

DayDate Gday;
Gday = WenDidIthappen();
cout <<"现在输出你输入的时间:" << Gday.SomeDate.year << " " < << " " << Gday.SomeDate.day;
return 0;
}

DayDate WenDidIthappen()
{
DayDate gSomeDay;
cout << "输入日期:";
cin >> gSomeDay.SomeDate.year >> gSomeDay.SomeDate.month >>
gSomeDay.SomeDate.day;
return gSomeDay;
}

就是要输出枚举Day是的面 Mday , Tuday, Wday, Tday, Fday, Sday, Suday
最佳答案
枚举型数据结构enum Day {Mday = 1, Tuday, Wday, Tday, Fday, Sday, Suday}; 中Mday,Tuday, Wday, Tday, Fday, Sday, Suday是常量,不能赋值(除了声名时,可以给他们指定值.)
在这里,Mday = 1
当cout<
因此,需要计算出日期对应的是星期几,并赋值给Day OneDay; ,然后可以用switch语句或者if~elseif~...~else等语句来输出!!!!!!!

下面是我添加后的程序:

你自己看看!!!!不满意自己改!!!!!!!!!!!!!

**********************运行结果,例如:2007-8-15 Wday **********************

#include
using namespace std;

enum Day {Mday = 1, Tuday, Wday, Tday, Fday, Sday, Suday};

struct Date
{
int year;
int month;
int day;
};

struct DayDate
{
Day OneDay;
Date SomeDate;
};

DayDate WenDidIthappen();
int Week_Day(DayDate OneDate);//add++
void show_week_day(Day WOne_Day);//add++

int main()
{

DayDate Gday;
Gday = WenDidIthappen();
cout <<"现在输出你输入的时间:" << Gday.SomeDate.year << "-" < << "-" << Gday.SomeDate.day<<" ";
show_week_day(Gday.OneDay);//add++
cout< return 0;
}

DayDate WenDidIthappen()
{
DayDate gSomeDay;
cout << "输入日期:";
cin >> gSomeDay.SomeDate.year >> gSomeDay.SomeDate.month >>
gSomeDay.SomeDate.day;
gSomeDay.OneDay=(enum Day)Week_Day(gSomeDay);//add++
return gSomeDay;
}
/
switch(WOne_Day)
{
case Mday: cout<<"Mday";break;
case Tuday: cout<<"Tuday";break;
case Wday: cout<<"Wday";break;
case Tday: cout<<"Tday";break;
case Fday: cout<<"Fday";break;
case Sday: cout<<"Saday";break;
default: cout<<"Suday";
}
}
int Week_Day(DayDate OneDate)
{

int m_days[11]={31,28,31,30,31,30,31,31,30,31,30},i,w_day=0;

for(i=1;i {
if((i%4==0&&i%100!=0)||i%400==0) w_day=(w_day+366)%7;
else w_day=(w_day+365)%7;
}
for(i=1;i {
if(i==2&&((OneDate.SomeDate.year%4==0&&OneDate.SomeDate.year%100!=0)||OneDate.SomeDate.year%400==0)) w_day=(w_day+29)%7;
else w_day=(w_day+m_days[i-1])%7;
}
w_day+=OneDate.SomeDate.day;

return (w_day%7!=0)?(w_day%7):7;
}

其中有//ads++ 为我加进去的!!! 如运行过程中有什么问题可以给我百度消息.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! The End !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
全部回答
没看懂你想要什么,说具体一点
看样子是个万年历算法 某年某月某日 计算是 星期几 网上查查吧 会提问题,不会搜索么
你好! C 语言: #include #include enum Day {Mday = 1, Tuday, Wday, Tday, Fday, Sday, Suday}; void main(){ enum Day anyday; char sd[][4]={" ","Mon","Tue","Wed","Thu","Fri","Sat","Sun"}; printf("%s ",sd[anyday=Wday]); } C++ 依葫芦画瓢。 枚举的意思是 #define Mday 1 #define MTuday 2 #define ..... #define ... 7 直接输出枚举里常数是1,2,3,4,5,6,7 要打字符 "Mon" 要另想办法。char sd[][4] 就是一个办法。 打字不易,采纳哦!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三生缘婚庆礼仪地址在哪,我要去那里办事
万达公寓1栋我想知道这个在什么地方
近年来,连续发生汶川、海地、智利、玉树等七
海方的意思是什么啊?知道的请说下!
天冰冷食批发部在哪里啊,我有事要去这个地方
染色体是由脱氧核糖核酸或DNA和蛋白质组成的
红石琴坊红石音乐教育机构地址在什么地方,想
蚕宝宝第一次脱皮后身长多少毫米
济南市历下区人民法院执行工作局怎么去啊,有
当自己的心漂浮不定时该怎么办?谢谢大家给点
可人婚庆礼仪鲜花地址在什么地方,我要处理点
事后维修(BM)的含义是什么?
1月3号来的大姨妈7号结束问什么时候是安全期
拥离的意思是什么啊?知道的请说下!
下午三点半还能去4s店保养车吗
推荐资讯
未来星午托部辅导班地址在哪,我要去那里办事
一列火车缓缓地驶出柏林,车厢里尽是妇女和孩
康铭led可充式台灯km6657c孩子学习可以用吗
电路分析的步骤
世界文明发展的历史是由分散走向整体,从区域
单选题Murad等三位教授最早提出了NO分子在人
诛仙3知道 合双护符需要的那个物品怎么来的
泾县文物局地址在什么地方,我要处理点事
【chinked】Chinked-out怎么读
找一找有关七情的成语
犯罪罚金数额如何确定,一般是要交多少
我现在谈了一个男朋友 比我大12岁,对我挺好
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?