#include<iostream.h>
#include"date3.h"
Date::Date(){
year=1998;
month=1;
date=1;
}
void Date::setDate(int y,int m, int n)
{
year=(y>=1998)?y:1998;
month=(m>0 && m<=12)?m:1 ;
date=(n>0 && n<=31)?n:1;
}
void Date::format1()
{
cout<<year<<"/"<<month<<"/"<<date<<endl;
}
void Date::setYear(int yy){year=(yy>=1998)?yy:1998;}
void Date::setMonth(int mm){month=(mm>0 && mm<=12)?mm:1;}
void Date::setDay(int dd){date=(dd>0 && dd<=31)?dd:1;}
int Date::getYear()
{ return year;}
int Date::getMonth()
{ return month;}
int Date::getDay()
{ return date;}
#ifndef DATE3_H
#define DATE3_H
class Date {
public:
Date();
void format1();
void setDate(int,int,int);
void setYear(int);
void setMonth(int);
void setDay(int);
int getYear();
int getMonth();
int getDay();
private:
int year;
int month;
int date;
};
#endif
#include<iostream.h>
#include<iostream.h>
#include"date3.h"
void incrementDays(Date &,int);
main()
{
Date d;
d.setDate(1998,11,10);
incrementDays(d,10);
return 0;
}
void incrementDays(Date & dd,int count)
{
cout<<"incrementing days"<<count<<" times:"<<endl<<"start date:";
dd.format1();
for(int i=1;i<=count;i++)
{
int a;
int b;
int c;
a=dd.getDay();
b=dd.getMonth();
c=dd.getYear();
if(b==(1::3::5::7::9::10::12))
a=((a++)%32);
if(b==(4::6::8::11))
a=((a++)%31);
if( b==2)
a=((a++)%29);
if(a==0) {
b=(b++)%13;
if(b==0)
} dd.setYear(c++);
dd.setMonth(b);
cout<<"day +1:";
dd.format1();
}
}
여기서 1998.11.10시작이후 10일 증가시킴 결과는
1998.11.19가 나와야 하는데...글케 안나오구 엉뚱한게 나와여
main함수에서 잘못한것 같은데 좀 봐주세염
|