Xwab
Форумыnavigate_nextДругие языки программирования

С++ нужна помощь
Сообщения
=KUPIDON=

Вообщем,дали в академии задание...программа должна делать следующее:
Пользователь вводит дату(ддммгггг) и программа должна вывести предыдущий и следующий день(числом). С учетом высокосного года и т.д)))

Вроде ничего сложного,но в корень забыл все что слышал на паре.

Помогите кто то...как это все осуществить?

09 Июл 2011, 16:35
BMWWW

Тебе в окне или в консоли? Если в консоли, то напишу

09 Июл 2011, 17:58
=KUPIDON=

1alex3, да в окне нужно...

А какая разница то?

Желательно напишите просто код.

Что бы без палева было для препода

09 Июл 2011, 19:41
BMWWW

=KUPIDON=, "вроде легко" Ну ты жгешь))))) Я уже зае##лся
писать эти хреновы конструкции If Else еще и как-то про високосный год надо додумать...Не легкр это одним словом...

10 Июл 2011, 6:33
=KUPIDON=

1alex3, ну если сделаешь,в долгу не останусь...

Народ! Времени почти не осталось,помогите кто то))))

Хотя бы посоветуйте что небудь

10 Июл 2011, 8:27
MuSTAnG

Вот лови. торопился так как интернет отключат скоро. Исполняемый файл в папке debug
добавлено спустя 32 минуты:
При вводе кириллические символы не использовал так как СР крякозябрит.

11 Июл 2011, 23:02
=KUPIDON=

MuSTAnG, спасибо,но немного не так... нужно что бы оно отнимало и добавляло только 1 день,а ты написал что отнимаются и добавляются все числа

12 Июл 2011, 9:22
MuSTAnG

Не так понял  Когда нужно сдать программу ?

13 Июл 2011, 18:37
=KUPIDON=

cout<<"vvedite datu (ddmmgggg)\n\n";
int den,mesic,god,vusokos,pmesic,pvusokos;
cin>>den;
god=den%10000;
mesic=(den/10000)%100;
den=den/1000000;
if (mesic==1||mesic==3||mesic==5||mesic==7||mesic==10||mesic==12)
vusokos=31;
else if (mesic!=2)
vusokos=30;
else if (god%4==0 && god%100!=0 ||god%400==0)
vusokos=29;
else
vusokos=28;

pmesic=mesic-1;

if (pmesic==0)
pmesic=12;
if (pmesic==1||pmesic==3||mesic==5||pmesic==7||pmesic==10||pmesic==12)
pvusokos=31;
else if (pmesic!=2)
pvusokos=30;
else if (god%4==0 && god%100!=0 ||god%400==0)
pvusokos=29;
else
pvusokos=28;

int pden=den-1,pdmesic=mesic,pdgod=god;
if (pden==0)
{
pden=pvusokos;
pdmesic=pmesic;
if (pdmesic==12)
pdgod--;
}

int sden=den+1,sdmesic=mesic,sdgod=god;
if (sden>vusokos)
{
sden=1;
sdmesic++;

if (sdmesic>12)
{
sdmesic=01;
sdgod++;
}
}

cout<<"pridudyshie chislo: ";cout<<pden<<'.';
if (pdmesic<10)
cout<<'0';

cout<<pdmesic<<'.'<<pdgod <<"\nsledyeshe chislo:\t" << sden <<'.';
if (sdmesic<10)
cout<<'0';

cout<< sdmesic<<'.' << sdgod<<"\n\n";



вот так оно должно было быть)))

Теперь мучаюсь с другим заданием,нужно вывести четные и не четные числа из заданого диапазона.

14 Июл 2011, 7:09
Ответить на тему