您的位置:首页 > 编程语言 > C语言/C++

我的第一个c++程序--设置日期

2006-03-08 08:31 411 查看
//选择输出日期前请先设置日期
//制作:杨忠学
//E_mail: yzx_xue@163.com
#include<iostream>
#include<stdlib.h>
using namespace std;
int const NoLeapday[]={31,28,31,30,31,30,31,31,30,31,30,31}; //平年
int const Leapday[]={31,29,31,30,31,30,31,31,30,31,30,31}; //润年
class Tdate{
public:
int index;
void infpri(void);
void SetDay(void);
void Dayadd(void);
void Daysub();
void Dayprint()
{
system("cls");
cout<<"今天是:"<<day<<"/"<<month<<"/"<<year<<endl; //按照day/month/year格式输出日期
}
int IsLeapYear() {
return ( year%4==0 && year%100!=0 )||( year%400==0 );
}
private:
int year;
int month;
int day;
};
void Tdate::SetDay()
{
system("cls");
cout<<"请输入年月日"<<endl;
cin>>year>>month>>day;
while(month>12||(IsLeapYear()&&(day>Leapday[month-1]))||!IsLeapYear()&&(day>NoLeapday[month-1])) //判断输入是否正确
{
cout<<"输入错误!"<<endl<<"重新输入"<<endl;
cin>>year>>month>>day;
}
}
void Tdate::infpri()
{

cout<<" 请选择菜单 "<<endl;
cout<<" 0.退出"<<endl;
cout<<" 1.输出日期"<<endl;
cout<<" 2.设置日期"<<endl;
cout<<" 3.日期加1"<<endl;
cout<<" 4.日期减1"<<endl;
}
void Tdate::Dayadd()
{

if((IsLeapYear()&&(day==Leapday[month-1]))||!IsLeapYear()&&(day==NoLeapday[month-1]))
{
day=1;
if(month==12)
{ month=1;
year++;
}
else
month++;
}
else
day++;
cout<<"明天是:"<<day<<"/"<<month<<"/"<<year<<endl;
}
void Tdate::Daysub()
{
if(day==1) //如果是1号
{ if(month==1) //如果是1月1号
{ month=12;
year--;
}
else //其他月
month--;
if(IsLeapYear()) //闰年
day=Leapday[month-1];
else //平年
day=NoLeapday[month-1];
}
else //不是1号
day--;

cout<<"昨天是:"<<day<<"/"<<month<<"/"<<year<<endl;
}
void main()
{
Tdate myday;
cout<<"请先设置日期!"<<endl;
while(1)
{
myday.infpri(); //输出菜单
cin>>myday.index;
switch(myday.index)
{
case 1: myday.Dayprint();break;
case 2: myday.SetDay(); break;
case 3: myday.Dayadd();break;
case 4: myday.Daysub();break;
default: exit(1);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: