作业题

1661阅读 2评论2007-05-12 wxfjx
分类:C/C++

定义一个满足如下要求的Date类:
(1)用日/月/年的格式输出日期;
(2)可运行在日期上加一天的操作;
(3)设置日期操作。
下面是我的程序,可能有不完善之处,望指正,谢谢合作!!

#include
#include
using namespace std;
class Date{
 int year,month,day;
public :
  void dateup();
};
void Date::dateup(){
 int y,m,d,y1,m1,d1;
//定义y,m,d是当前出入的日期
//定义y1,m1,d1是指加一天后的日期
 cout<<"请输入年份";
 cin>>y;
 cout<<"请输入月份";
 cin>>m;
 while ((m>12) || (m<1)){
 cout<<"您输入的月份有误,请重新输入!"<<'\n';
 cin>>m;}
 cout<<"请输入天";
 cin>>d;
 switch (m)
 {case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:{
  while (d>31){
   cout<   cin>>d;
  }
  if(d==31) {y1=y;m1=m+1;d1=1;}
  else
  {d1=d+1;
  m1=m;
  y1=y;}
};break;
  case 4:
  case 6:
  case 9:
  case 11:{
  while (d>30){
   cout<   cin>>d;
  }
  if(d==30)
  {y1=y;m1=m+1;d1=1;}
  else
  {d1=d+1;
  m1=m;
  y1=y;}
};break;
  case 2:{
  if ((y%4==0 && y%100!=0) || (y%400==0))
//如果所输入的年份为闰年,则29天进位,否则28天进位!!
   {
    while (d>29){
   cout<   cin>>d;
  }
    if (d==29){y1=y;m1=m+1;d1=1;}
    else {d1=d+1;y1=y;m1=m;}
   }
   else  {
  while (d>28){
   cout<   cin>>d;
  }
  if (d==28){m1=m+1;d1=1;y1=y;}
  else if(d<28) {d1=d+1;m1=m;y1=y;}}
};break;
  case 12:{
  while (d>31){
   cout<   cin>>d;
  }
  if(d==31){y1=y+1;m1=1;d1=1;}
  else {d1=d+1;m1=m;y1=y;}
};break;
  }
 cout<<"输入的日期是:"< cout<<"加一天后的日期是:"< }
 int main()
 {Date d;
  d.dateup();
}

可以应对一般的错误事件,比如闰年的2月份或者12月的31号!!
文件:cdate.tar.gz
大小:0KB
下载:下载

上一篇:关于firefox的修复问题
下一篇:flash