24小时热门版块排行榜    

CyRhmU.jpeg
查看: 728  |  回复: 13
【奖励】 本帖被评价4次,作者烂熊邓增加金币 3
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

烂熊邓

金虫 (小有名气)


[资源] 【分享】日期的加整数运算符的重载

下面是日期加整数的重载
分两个文件:一个头文件,一个源文件
//1.h
#include
using namespace std;
class Date
{int year,month,day;
public:
        Date(int a=0,int b=0,int c=0)
        {year=a;
        month=b;
        day=c;
        }

        void out();
Date operator +(int j);
};

void Date:ut()
{cout<<"the Date is :"< }


Date Date:perator +(int j)
{int m,i,n;

int d[12]={31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"请输入要相加的天数m:"< cin>>m;
cout<<"要相加的天数是:"< n=day+m;
if(n<=d[month-1])
        day=day+m;
else
        for(i=0;i<=11;i++)
        {i=month-1;
        n=n-d;
        if(i<11)   month++;
        else
        {year++;
                month=1;}

        if(d[month-1]>n)
        {
                day=n;
                break;}
       
        else continue;
        i++;
        }
return ;
}

//1.cpp
#include"1.h"
void main()
{int y,m,d,n;
while(1)
        {cout<<"请输入年份,月份,号数,追加天数:";
        cin>>y>>m>>d>>n;
        Date d(y,m,d);
        Date D;
        cout<<"原始日期:";
        d.out();
        D=d+n;
        cout<<"追加天使之后的日期:";
        d.out();}


}

大家一起分享一下,可以的话还可以优化一下;
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ms98


★★★ 三星级,支持鼓励

★ ★
wangen994(金币+2,VIP+0):感谢参与讨论 7-9 20:40
哈哈,才看到lz原来和我硕士一个专业。生物医学专业出国比较好出呢。
其实很多问题我们常规解法在实际中很少用,用的都是数学上比较优化的方法。比如说求素数,根本就不是书中间那种对2~n除,一般做法直接查表,很大的素数求法在数论中间有讲到。
感觉lz很热爱编程么,慢慢来,很快就会进步了。我支持一下!
btw:程序没考虑闰年?
10楼2009-07-09 15:19:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

★★★★★ 五星级,优秀推荐

sunxiao 来的比我早啊,哈哈
3楼2009-07-09 08:35:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


★★★ 三星级,支持鼓励

貌似VB和C#本来就有Date,C++不熟
4楼2009-07-09 09:20:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

烂熊邓

金虫 (小有名气)


回复magic7004

{貌似VB和C#本来就有Date,C++不熟 },我就对那两种不熟悉了,你就给烂熊说下那两种的一些信息;
5楼2009-07-09 10:01:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见