ФІО = Дибовський Руслан Запитання:Визначити структуру для збереження інформації про дату (день, місяць, рік). Написати функцію, яка повертае величину інтервалу часу (у днях) між двома заданими датами. ==================================== ANSWER ==================================== /* Визначити структуру для збереження інформації про дату (день, місяць, рік). Написати функцію, яка повертае величину інтервалу часу (у днях) між двома заданими датами. */ #include #include #include #include using namespace std; struct Tdmy{ // структура long d,m,y; // число місяць рік void dmy_pp(){ // дата плюс плюс d++; switch (m){ case 1: if (d>31) {d=1; m++;} break; case 2: if (d> ((y % 4 == 0) ? 29 : 28) ) {d=1; m++;} break; case 3: if (d>31) {d=1; m++;} break; case 4: if (d>30) {d=1; m++;} break; case 5: if (d>31) {d=1; m++;} break; case 6: if (d>30) {d=1; m++;} break; case 7: if (d>31) {d=1; m++;} break; case 8: if (d>31) {d=1; m++;} break; case 9: if (d>30) {d=1; m++;} break; case 10: if (d>31){d=1; m++;} break; case 11: if (d>30){d=1; m++;} break; case 12: if (d>31){d=1; m=1; y++;} break; // перевіряємо корректність } } void show_date(){ // функція виводить дату cout<<"The date is (d.m.y) : "<>d; cout<<" M : "; cin>>m; cout<<" Y : "; cin>>y; cout<p2.y){ return 2; } if (p1.yp2.m){ return 2; } if (p1.mp2.d){ return 2; } if (p1.dp2 // міняємо місцями дати Tdmy temp=p1; p1=p2; p2=temp; } long interval=0; // часовий інтервал = 0 while (test(p1,p2)!=0) {// інкрементуємо дату до тих пір, поки дати не зрівняються interval++; p1.dmy_pp(); } return interval; } int main(){ Tdmy var1; // створили структуру Tdmy var2; // створили структуру do{ system("cls"); cout<<"enter 1: \n"; var1.enter_date(); // ввели дату 1 cout<<"enter 2: \n"; var2.enter_date();// ввели дату 2 var1.show_date(); // вивели дату1 var2.show_date(); // 2 cout<<" Date interval is "<< DateIntervalCount(var1,var2)<