02周:项目四:玩日期
2014-03-09 15:18
309 查看
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 作 者:王颖 * 完成日期:2014 年 3 月 7 日 * 版 本 号:v1.0 * 输入描述: 无 * 问题描述:玩日期/处理该日在本年中是第几天/处理是该天的第几秒 * /处理是该年的第几秒/求输入D天后是哪年哪月哪日/求输入时间s秒后是何时何日 * 程序输出:略 * 问题分析:略 * 算法设计:略 */ #include <iostream> using namespace std; int sort1(int ,int ,int );//处理该日在本年中是第几天 void sort2(int ,int ,int ,long );//处理是该天的第几秒 void sort3(int ,int ,int,int,int,long);//处理是该年的第几秒 void sort4(int ,int ,int ,int );//求输入D天后是哪年哪月哪日 void sort5(int ,int ,int,int,int,int);//求输入时间s秒后是何时何日 struct Date { int year; int month; int day; int hour; int minite; long second; }; int main() { Date date; int days1,t1=0; cout << "请输入年、月、日、时、分、秒:" << endl; cin>>date.year>>date.month>>date.day>>date.hour>>date.minite>>date.second; t1=sort1(date.year,date.month,date.day); cout<<"该日在"<<date.year<<"中是第"<<t1<<"天。"<<endl; sort2(date.day,date.hour,date.minite,date.second); sort3(date.year,date.month,date.day,date.hour,date.minite,date.second); cout<<"请输入你想知道的几天后是哪年的哪月哪天:"<<endl; cin>>days1; sort4(date.year,date.month,date.day,days1); cout<<endl; return 0; } //处理该日在本年中是第几天 int sort1(int year,int month,int day) { int i,t=0; for(i=0; i<month; i++) { if((i==1)||(i==3)||(i==5)||(i==7)||(i==8)||(i==10)||(i==12)) { t+=31; } else if(i==2) { if(((year%4==0)&&(year%100!=0))||(year%400==0)) { t+=29; } else { t+=28; } } else { t+=30; } } t+=day; return t; } //处理是该天的第几秒 void sort2(int day,int hour,int minite,long second) { int i,j,sum=0; for(i=0; i<hour; i++) { sum+=60*60; } for(j=0; j<minite; j++) { sum+=60; } sum+=second; cout<<"是这一天的"<<sum<<"秒."<<endl; } //处理是该年的第几秒 void sort3(int year,int month,int day,int hour,int minite,long second) { int sum2=0,s1=0; s1=sort1(year, month, day); int i,j,k; for(i=0; i<s1; i++) { sum2+=24*60*60; } for(j=0; j<hour; j++) { sum2+=60*60; } for(k=0; k<month; k++) { sum2+=60; } sum2+=second; cout<<"是这一年的"<<sum2<<"秒."<<endl; } //求输入D天后是哪年哪月哪日 void sort4(int year,int month,int day,int days) { int s2=0,m1=0,su=0; int i,j; su=days; s2=sort1(year, month, day); days+=s2; for(i=0; days>=365 ; i++) { if(((year%4==0)&&(year%100!=0))||(year%400==0)) { days-=366; year+=1; } else { days-=365; year+=1; } } for(j=0; days>=28; j++) { if((j==1)||(j==3)||(j==5)||(j==7)||(j==8)||(j==10)||(j==12)) { days-=31; } else if(j==2) { if(((year%4==0)&&(year%100!=0))||(year%400==0)) { days-=29; } else { days-=28; } } else { days-=30; } m1+=1; } cout<<su<<"天后是"<<year<<"年"<<month<<"月"<<days<<"日"<<endl; }
心得体会:慢慢来
相关文章推荐
- 一行命令搞定VS2012无法安装cocos2d-x-2.1.4及创建跨平台项目(二)
- VS2012无法安装cocos2d-x-2.1.4 解决方法及VS2012新建coco2d-x项目(一)
- hdu 1973 Prime Path (bfs)
- C#的封装、继承和多态
- Documentation:Linux/GPIO
- vim-php 方法跳转
- 转贴:负载均衡技术概览
- jquery中的数据存储
- 自动控制专业为什么要学习计算机语言?
- SVM之旅
- kobject和kset
- 想学Python的农村青年
- ACE的主动线程对象ACE_Task
- JBoss AS 7.1.1下,从远程客户端使用JNDI调用EJB
- TI的Zstack协议栈SensorDemo例程温度收发
- SSIS从理论到实战,再到应用(1)----创建自己的第一个包
- ZOJ 3603 Draw Something Cheat
- 欢迎大家光顾,我们将成为好伙伴,交流属于我们~
- 02周:项目三扩展:学生成绩管理系统
- Struts2+Hibernate整合应用开发步骤