2014秋C++第17周 项目4参考 日期结构体
来源:互联网 发布:单片机中的J 编辑:程序博客网 时间:2024/05/22 15:49
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。
参考解答二:
参考解答三: 函数版1——用结构体的分量当形参
参考解答四:函数版2——用结构体整体作为参数
【项目4 - 日期结构体】
(1)定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天。
#include <iostream>using namespace std;struct Date{ int year; int month; int day;};int main(){ Date date; cout<<"input year,month,day:"; cin>>date.year>>date.month>>date.day; int days; //计算days cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl; return 0;}
参考解答一:
#include <iostream>using namespace std;struct Date{int year;int month;int day;};int main(){Date date;cout<<"input year,month,day:";cin>>date.year>>date.month>>date.day;int days;switch(date.month){case 1: days=date.day; break; case 2: days=date.day+31; break; case 3: days=date.day+59; break; case 4: days=date.day+90; break; case 5: days=date.day+120; break; case 6: days=date.day+151; break; case 7: days=date.day+181; break; case 8: days=date.day+212; break; case 9: days=date.day+243; break; case 10: days=date.day+273; break; case 11: days=date.day+304; break; case 12: days=date.day+334; break;}if ((date.year %4== 0 && date.year % 100 != 0||date.year % 400 == 0) && date.month >=3)days+=1;cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl;return 0;}
参考解答二:
#include <iostream>using namespace std;struct Date{int year;int month;int day;};int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int main(){Date date;cout<<"input year,month,day:";cin>>date.year>>date.month>>date.day;int days=0,i;for(i=1;i<date.month;++i)days+=d[i];//当月之前的天数days+=date.day;//加上本月天数if ((date.year %4== 0 && date.year % 100 != 0||date.year % 400 == 0) && date.month >=3)days+=1;//闰年的2月要加1天cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl;return 0;}
参考解答三: 函数版1——用结构体的分量当形参
#include <iostream>using namespace std;struct Date{int year;int month;int day;};int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int days(int,int,int);int main(){Date date;cout<<"input year,month,day:";cin>>date.year>>date.month>>date.day;cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第";cout<<days(date.year,date.month,date.day)<<"天."<<endl;return 0;}int days(int yy,int mm,int dd){ int n=0,i;for(i=1;i<mm;++i)n+=d[i];//当月之前的天数n+=dd;//加上本月天数if ((yy %4== 0 && yy % 100 != 0||yy % 400 == 0) && mm >=3)n+=1;//闰年的2月要加1天return n;}
#include <iostream>using namespace std;struct Date{int year;int month;int day;};int d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int days(Date);int main(){Date date;cout<<"input year,month,day:";cin>>date.year>>date.month>>date.day;cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第";cout<<days(date)<<"天."<<endl;return 0;}int days(Date ymd){ int n=0,i;for(i=1;i<ymd.month;++i)n+=d[i];//当月之前的天数n+=ymd.day;//加上本月天数if ((ymd.year %4== 0 && ymd.year % 100 != 0||ymd.year % 400 == 0) && ymd.month >=3)n+=1;//闰年的2月要加1天return n;}
参考解答:
#include <iostream>using namespace std;struct Date{ int year; int month; int day;} ;int daysOfMonth[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};int day(Date); //计算出日期d和1900年1月1日差多少天int main(){ Date date; int d1=0,d2=0,t;//d1和d2分别代表两个人的生日和1900年1月1日相差多少天 cout<<"第一个人的出生日期:"; cin>>date.year>>date.month>>date.day; d1=day(date); cout<<"第二个人的出生日期:"; cin>>date.year>>date.month>>date.day; d2=day(date); //对两个人的生日,求出了和1900年1月1日相差多少天(d1和d2),下面相减 t=d2-d1; if(t<0) { t=-t;//若出现负数,则将其化为正数 } cout<<"两人生日相差"<<t<<"天."<<endl;}int day(Date d){ int days=0,i; for(i=1900; i<d.year; i++)//算出这年1月1日到1900年1月1日共多少天 { days+=365; if(i%400==0||(i%4==0&&i!=0)) { days++; } } for(i=1; i<d.month; ++i) days+=daysOfMonth[i];//加上当年当月之前的天数 days+=d.day;//再加上本月天数 if (d.month >=3 && ((d.year %4== 0 && d.year % 100 != 0) ||d.year % 400 == 0)) days+=1;//当年为闰年且进入了3月,还要加1天 return days; //生日到1900年1月1日共多少天}
=================== 迂者 贺利坚 CSDN博客专栏=================|== IT学子成长指导专栏 专栏文章的分类目录(不定期更新) ==||== C++ 课堂在线专栏 贺利坚课程教学链接(分课程年级) ==||== 我写的书——《逆袭大学——传给IT学子的正能量》 ==|===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====
0 0
- 2014秋C++第17周 项目4参考 日期结构体
- 第17周项目4--日期结构体
- 第17周项目4(1)-日期结构体
- 第17周项目4(2)-日期结构体
- 第17周项目4-日期结构体
- 第17周【项目 4 - 日期结构体】(1)
- 第17周【项目 4 - 日期结构体】(2)
- 第17周项目4-日期结构体
- 第17周项目4—日期结构体
- 第17周项目4-日期结构体之一
- 第17周项目4-日期结构体
- 第17周项目4--日期结构体
- 第17周 项目4- - 日期结构体
- 第17周项目4-日期结构体(1)
- 第17周 项目4 - 日期结构体<2>
- 第17周项目4-日期结构体(2)
- 第17周项目4-日期结构体
- 2014秋C++第17周 项目7参考 电子词典结构体版
- ubuntu14.04安装sogou输入法过程记录
- 游戏模块分析总结(4)之系统篇
- Eclipse 出现Some sites could not be found. See the error log for more detail.错误 解决方法
- 移动互联网
- 2014秋C++第17周 项目3参考 胖子伤不起
- 2014秋C++第17周 项目4参考 日期结构体
- 利用SecureCRT的脚本功能自动定时执行任务
- 2014年禁毒工作总结,2015年工作打算
- spring security3.x学习(26)_一个比较好的实例
- 2014秋C++第17周 项目5参考 玩日期时间
- Unity学习之碰撞检测
- 2014秋C++第17周 项目6参考 学生成绩统计
- 数独游戏
- hdu-2120-Ice_cream's world I