02周:项目四扩展:日期结构体
来源:互联网 发布:windows 10 乱码 编辑:程序博客网 时间:2024/04/29 04:08
/** 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,long);//求输入时间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); sort5(date.year,date.month,date.day,date.hour,date.minite,date.second); 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;}//求输入时间s秒后是何时何日void sort5(int year,int month,int day,int hour,int minite,long second){ int seconds,s3=0,hours=0,minites=0,m1=0,d1=0; int i,j,k,l,f,n; cout<<"请输入你想知道的几秒后是哪天的何时:"<<endl; cin>>seconds; s3=seconds; seconds=seconds+second+minite*60+hour*60*60+day*24*60*60; for(n=0;n<month;n++) { if((n==1)||(n==3)||(n==5)||(n==7)||(n==8)||(n==10)||(n==12)) { seconds+=31*24*60*60; } else if(n==2) { if(((year%4==0)&&(year%100!=0))||(year%400==0)) { seconds+=29*24*60*60; } else { seconds+=28*24*60*60; } } else { seconds+=30*24*60*60; } } for(i=0;seconds>=24*60*60;i++) { seconds-=24*60*60; d1+=1; } for(j=0;seconds>=60*60;j++) { seconds-=60*60; hours+=1; } for(k=0;seconds>=60;k++) { seconds-=60; minites+=1; } for(l=0; d1>=365 ; l++) { if(((year%4==0)&&(year%100!=0))||(year%400==0)) { d1-=366; year+=1; } else { d1-=365; year+=1; } } for(f=0; d1>=28; f++) { if((f==1)||(f==3)||(f==5)||(f==7)||(f==8)||(f==10)||(f==12)) { d1-=31; } else if(f==2) { if(((year%4==0)&&(year%100!=0))||(year%400==0)) { d1-=29; } else { d1-=28; } } else { d1-=30; } m1+=1;}cout<<s3<<"秒后是"<<year<<"年的"<<m1<<"月"<<d1<<"日"<<hours<<"时"<<minites<<"分"<<seconds<<"秒"<<endl;}
心得体会:慢慢做
0 0
- 02周:项目四扩展:日期结构体
- 第十七周 项目四:日期结构体
- 第十七周项目四 日期结构体
- 第十七周项目四日期结构体
- 第十七周项目四日期结构体
- 第十七周 项目四 日期结构体
- 第十七周项目四日期结构体
- 项目四:日期结构体
- 第十七周项目四—日期结构体
- 第十七周项目四-1日期结构体
- 第十七周项目四日期结构体-2
- 第十七周项目四 日期结构体(1)
- 第十七周项目四 日期结构体 (2)
- 第十七周项目四(1):日期结构体
- 第十七周项目四(2)日期结构体
- 【结构体】 项目四。玩日期
- 日期结构体(扩展)
- 第十七周项目四 日期结构体-(1)当年第几天
- VS2012无法安装cocos2d-x-2.1.4 解决方法及VS2012新建coco2d-x项目(一)
- div align center实现内容居中 转化为CSS如何实现
- 代码行下忧郁着青春
- linux内核栈与用户栈
- 数组中a和&a的区别
- 02周:项目四扩展:日期结构体
- 【leetcode题解】1 - Reverse Words in a String
- 通过sysfs在用户空间使用GPIO
- 破解微信EnMicroMsg.db导出加密聊天聊天记录
- background-position:center right这里center right分别代表什么,引入对图片背景定位介绍
- 探讨PHP实现站内搜索引擎的具体方法
- 使用getIdentifier()获取资源Id
- 02周:项目五:点结构与枚举
- ubuntu eclipse gtk