*烟台大学计算机学院学生
*All rights reserved.
*文件名称:求生日差几天
*作者:杨飞
*完成日期:2013年2月27日
*版本号:v1.0
*对任务及求解方法的描述部分:求生日差几天
*我的程序:
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
cout<<"比较两个人的出生日期相差多少天!!!"<<endl;
Date p1,p2;
cout<<"请输入第一个人的生日"<<endl;
cin>>p1.year>>p1.month>>p1.day;
cout<<"请输入第二个人的生日"<<endl;
cin>>p2.year>>p2.month>>p2.day;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,day1=0,day2=0,sum;
if(p1.year==p2.year)
{
for(i=0;i<=p1.month-1;i++)
day1=day1+a[i];
if((p1.month>2)&&((p1.year%4==0&&p1.year%100!=0)||(p1.year%400==0)))
day1=day1+1;
for(i=0;i<=p2.month-1;i++)
day2=day2+a[i];
if((p2.month>2)&&((p2.year%4==0&&p2.year%100!=0)||(p2.year%400==0)))
day2=day2+1;
sum=day1-day2+p1.day-p2.day;
if(sum>0)
cout<<"两人生日相差"<<sum<<"天"<<endl;
if(sum<0)
cout<<"两人生日相差"<<-sum<<"天"<<endl;
}
int m,n,num=0,num1=0,sum1=0;
if(p1.year!=p2.year)
{
if(p1.year>p2.year)
{
m=p1.year;
n=p2.year;
}
else
{
m=p2.year;
n=p1.year;
}
for(n;n<m;n++)
{
if((n%4==0&&n%100!=0)||n%400==0)
{
num++;
}
else
{
num1++;
}
}
sum1=sum1+366*num+365*num1;
for(i=0;i<=p1.month-1;i++)
day1=day1+a[i];
if((p1.month>2)&&((p1.year%4==0&&p1.year%100!=0)||(p1.year%400==0)))
day1=day1+1;
for(i=0;i<=p2.month-1;i++)
day2=day2+a[i];
if((p2.month>2)&&((p2.year%4==0&&p2.year%100!=0)||(p2.year%400==0)))
day2=day2+1;
if(p1.year>p2.year)
cout<<"两人生日相差"<<sum1+day1-day2+p1.day-p2.day<<"天"<<endl;
else
cout<<"两人生日相差"<<sum1+day2-day1+p2.day-p1.day<<"天"<<endl;
}
return 0;
}
运行结果:
心得体会:只要我们不断努力,就没有不可逾越的,
学c++;
一次失败不代表永远的失败,我们要不放弃的调试,只要我们足够相信自己,就会成功的!!!有木有?