Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > калькулятор дат на С++


Автор: Georgiii 3.3.2006, 13:27
Помогите доделать прогу


Код

class Data {
public:
    int a, b, c;
Data ( int na=0, int nb=0, int nc=0)
{
    a=na;
    b=nb;
    c=nc;
}
~Data() {}
Data& operator= (Data r)
{
    d=r.d;
    m=r.m;
    y=r.y;
    return *this;
}
Data operator+ (data r)
{
    Data res;
    res.d=d+r.d;
    res.m=m+r.m;
    res.y=y+r.y;
    if (res.m==1||res.m==3||res.m==5||res.m==7||res.m==8||res.m==10||res.m==12) {dmax==31;}
    if (res.m==4||res.m==6||res.m==9||res.m==11) {dmax==30;}
    if (res.m==2) {dmax==28;}
    if (res.y%4==0) {dmax==29;}
    while (res.d>dmax) 
    if (res.m==1||res.m==3||res.m==5||res.m==7||res.m==8||res.m==10||res.m==12) {dmax==31;}
    if (res.m==4||res.m==6||res.m==9||res.m==11) {dmax==30;}
    if (res.m==2) {dmax==28;}
    if (res.y%4==0) {dmax==29;}
    res.d=res.d-dmax;
    res.m=res.m+1;
}

Автор: MAKCim 3.3.2006, 20:19
1. есть тэг код
2. зачем в классе делать открытыми поля?
3. operator+, operator-, ... лучше реализовывать через operator+=, operator-=, ... + делать их не членами класса (семантически более правильно)
4. что такое dmax?
5.
Цитата

Код

 if (res.m==1||res.m==3||res.m==5||res.m==7||res.m==8||res.m==10||res.m==12) {dmax==31;}
if (res.m==4||res.m==6||res.m==9||res.m==11) {dmax==30;}
if (res.m==2) {dmax==28;}
if (res.y%4==0) {dmax==29;}


лучше case-ом сделать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)