主题:[原创]如何编辑一个日期程序
zhao872442
[专家分:0] 发布于 2010-01-31 13:08:00
该程序可以输出任意一个日期的下一天
比如 输入 二月 二十八日 2009年
程序可以计算出2009年时平年,所以下一天是三月 一日 2009年
实在是不会了
高人急救啊!
回复列表 (共7个回复)
沙发
lpf46261479 [专家分:970] 发布于 2010-01-31 14:22:00
#include<cstdio>
#include<ctime>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int year, month, day;
int day1[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int day2[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
cout << "Input year and month and day:" << endl;
while(scanf("%d%d%d",&year,&month,&day) != EOF){
if(year%4 == 0 || (year%100 == 0 && year%400 == 0)){
if(day + 1 > day2[month]) {day = 1; month++;}
else day++;
if(month > 12) {year++; month = 1;}
}
else{
if(day + 1 > day1[month]) {day = 1; month++;}
else day++;
if(month > 12) {year++; month = 1;}
}
printf("%d\t%d\t%d\n", year, month, day);
cout << "Input year and month and day:" << endl;
}
system("PAUSE");
return 0;
}
输入年,月,日,分别按回车
为了结构简单,没有错误年月日检查
没有大于3200年的没加入是否润年计算
因为能被100整除同时能被400整除为润年是对于小于3200年的条件
如果是大于3200的年,,能整除400,但不能整除3200的为润年
能整除3200年,同时又能整除172800年的也是润年
也就是3200年不是润年,172800是润年,864000年不是润年..
板凳
zhao872442 [专家分:0] 发布于 2010-02-01 14:28:00
请问我想编程一个日期类的话,应该怎么做呢?
3 楼
suzhoutaicang18 [专家分:360] 发布于 2010-02-02 23:53:00
class date
{private:int year;
int month;
int day1[];//
int day2[];//
public:date();
input();
output();
count();
.....
};
自己动手才有提高啊
4 楼
fcjailybo [专家分:0] 发布于 2010-02-03 10:03:00
1 楼
if(year%4 == 0 || (year%100 == 0 && year%400 == 0))应该是
if(year%4 == 0 || (year%100 != 0 && year%400 == 0));
可能打字的时候没注意。
5 楼
fcjailybo [专家分:0] 发布于 2010-02-03 10:07:00
我也是初学者 见笑了 每次只能处理一个
#include<iostream>
using namespace std;
int main()
{
int year,month,day;
{
cin>>year>>month>>day;
const int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
const int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
if(year%4==0 && year%100!=0 || year%400==0)
{
if(day<b[month-1])
cout<<year<<" "<<month<<" "<<day+1<<endl;
else
{
day=1;
if(month<12)
month++;
else
{
month=1;
year++;
}
cout<<year<<" "<<month<<" "<<day<<endl;
}
}
else
{
if(day<a[month-1])
cout<<year<<" "<<month<<" "<<day+1<<endl;
else
{
day=1;
if(month<12)
month++;
else
{
month=1;
year++;
}
cout<<year<<" "<<month<<" "<<day<<endl;
}
}
return 0;
}
6 楼
moke8 [专家分:0] 发布于 2010-09-04 14:02:00
你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系摩客元亨 QQ908889846
2010年,中国网民突破了4亿,
网络游戏玩家超过了3亿,
互联网即将进入全民网游的时代
7 楼
cyite [专家分:0] 发布于 2010-09-19 07:12:00
这是一个互助的模式。
不推广人也有钱赚的。分A B两个网。
不推广的人在A网。推广的人 在B网。
B网推广的人帮助A网。
A网拿6000元出局。
B网就多了。
C易特元亨QQ919169870
奖励制度
C易特更多资料C易特元亨QQ919169870
http://blog.sina.com.cn/cyite6
C易特奖励制度
http://blog.sina.com.cn/s/blog_6b2561440100l5r8.html
我来回复