上机内容:用类的方法,判断某一天是某年的第几天
上机目的:学习类
我的程序:
/*
* 程序的版权和版本声明部分:
* 文件名称:date.cpp
* 作 者:段元晋
* 完成日期:2013年3月21日
* 版 本 号:vc++6.0
* 对任务及求解方法的描述部分:
* 输入描述:输入日期
* 问题描述:判断是该年中的第几天,是否是闰年
* 程序输出:
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
using namespace std;
class date
{
public:
void set();
void display();
int theDayofYear();
int isLeapYear();
private:
int day;
int year;
int month;
};
void date::set()
{
cout<<"请输入年月日:";
cin>>year>>month>>day;
}
void date::display()
{
cout<<month<<'/'<<day<<'/'<<year;
cout<<endl;
}
int date:: theDayofYear()
{
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,days=0;
for(i=0;i<month;i++)
{
days=day_tab[i]+days;
}
days=days+day;
if((year%400==0||(year%4==0&&year%100!=0))&&(month>2))
{
days=days+1;
}
cout<<month<<'/'<<day<<"是"<<year<<"的第"<<days<<"天";
cout<<endl;
return (days);
}
int date::isLeapYear()
{
if(year%400==0||(year%4==0&&year%100!=0))
{
cout<<year<<"年是闰年";
}
else
cout<<year<<"年不是闰年";
cout<<endl;
return 0;
}
int main()
{
date date1;
date1.set();
date1.display();
date1.theDayofYear();
date1.isLeapYear();
return 0;
}
运行结果: