第17周项目5-玩日期时间(v1.0)
来源:互联网 发布:中国网络墙之父 编辑:程序博客网 时间:2024/05/16 19:14
问题及代码:
/* *Copyright(c)2014,烟台大学计算机学院 *Allrights reserved. *文件名称:MADE85.cpp *作 者:孙化龙 *完成日期:2014年12月22日 *版 本 号:v1.0 * *问题描述:定义一个表示时间的结构体,实现下列各功能*/#include <iostream>using namespace std;struct Time{ int year; int month; int day; int hour; int minute; int second;};void input(Time &t);int days(Time date);int dsec(Time s);int ysec(int d,int s);void after(Time &t,int d);int doy(Time t);int dom(int m,int y);int main(){ Time t1; int day,sec1,sec2,d; cout<<"输入时间(年、月、日、时、分、秒):"; input(t1);//输入时间 day=days(t1); cout<<"该日在本年中是第"<<day<<"天。"<<endl; sec1=dsec(t1); cout<<"这是这一天中的第"<<sec1<<"秒。"<<endl; sec2=ysec(day,sec1); cout<<"这是这一年中的第"<<sec2<<"秒"<<endl; cout<<"输入天数:"; cin>>d; after(t1,d); cout<<d<<"天后为"<<t1.year<<"年"<<t1.month<<"月"<<t1.day<<"日"<<t1.hour<<"时"<<t1.minute<<"分"<<t1.second<<"秒"<<endl; return 0;}void input(Time &t){ cin>>t.year>>t.month>>t.day>>t.hour>>t.minute>>t.second; return;}int days(Time date){ int days=0,i; for(i=1;i<date.month;i++) switch(i) { case 2:days+=(((date.year%4==0&&date.year%100!=0)||date.year%400==0)?29:28);break; case 4: case 6: case 9: case 11:days+=30;break; default:days+=31;break; } days+=date.day; return days;}int dsec(Time s){ return s.hour*60*60+s.minute*60+s.second;}int ysec(int d,int s){ return (d-1)*24*60*60+s;}void after(Time &t,int d){ int day=days(t)+d; t.month=0; t.day=0; while(day>=doy(t)) { t.year++; day-=doy(t); } while(day>=dom(t.month,t.year)) { t.month++; day-=dom(t.month,t.year); } t.day=day;}int doy(Time t){ if((t.year%4==0&&t.year%100!=0)||t.year%400==0) return 366; else return 365;}int dom(int m,int y){ int days; switch(m) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; case 4: case 6: case 9: case 11: days=30; break; case 2: if((y%4==0&&y%100!=0)||y%400==0) days=29; else days=28; } return days;}
运行结果:
0 0
- 第17周项目5-玩日期时间(v1.0)
- 第17周项目5-玩日期时间(部分)
- 第17周项目5-玩日期时间(部分)
- 第17周项目5-玩日期时间
- 第17周项目5--玩日期时间
- 第17周项目5-玩日期时间
- 第17周【项目 5-玩日期时间】
- 第17周项目5-玩时间日期
- 第17周 项目5-玩日期时间
- 第17周项目5-玩日期时间
- 第17周项目5-玩日期时间
- 第17周项目5-玩日期时间
- 第17周 项目5 玩日期时间
- 第17周项目5 玩日期时间
- 第17周上机实践项目5——玩日期时间(1)(2)
- 第17周上机实践项目5——玩日期时间(3)
- 第17周上机实践项目5——玩日期时间(4)
- 17周项目5--玩日期时间
- AJAX技术
- 题解析
- hibernate select
- 乘法表
- 微信支付配置
- 第17周项目5-玩日期时间(v1.0)
- Unity 碰撞检测、射线
- linux下Makefile学习之四(使用变量)
- Eclipse安装Hibernate插件
- 安全卫士——Day07_2
- CxImage
- Cadence中画原理图的时候器件标号与黄色的参数不同的解决办法
- 飞机大战总结
- mvn常用命令