Задача 13
Задача 13: Создайте класс, который будет содержать информацию о дате (день, месяц, год). С помощью механизма перегрузки операторов, определите операцию разности двух дат (результат в виде количества дней между датами), а также операцию увеличения даты на определенное количество дней.
/* * Created on January 12, 2011, 11:38 AM */ #include <cstdlib> #include <iostream> #include <ctime> #include <cstdio> using namespace std; class myClassDate { struct tm *initime; time_t rawtime; struct mydate { int my_day; int my_mon; int my_year; } myinitdate; public: myClassDate();//конструктор myClassDate(const myClassDate &c){};//конструктор копирования ~myClassDate(){};//деструктор myClassDate operator-(const myClassDate &N) { myClassDate temp; temp.myinitdate.my_day=myinitdate.my_day-N.myinitdate.my_day; //temp.dig=dig-N.dig; return temp; } void printdate(){cout<<myinitdate.my_day<<myinitdate.my_mon<<myinitdate.my_year<<"\n"; }; void addday(int days); }; myClassDate::myClassDate() { rawtime = time (NULL); initime = localtime (&rawtime); myinitdate.my_day=initime->tm_mday; myinitdate.my_mon=initime->tm_mon; myinitdate.my_year=initime->tm_year; } void myClassDate::addday(int days) { if (myinitdate.my_day+days>31) cout<<"Error! myinitdate.my_day+days>31"<<"\n"; else myinitdate.my_day+=days; } int main(int argc, char** argv) { myClassDate A,B,C; A.printdate(); A.addday(40); //Error A.addday(5); A.printdate(); //разность двух дат B.printdate(); C=A-B; C.printdate(); return (EXIT_SUCCESS); }
Крупнейшая в Европе школа английского языка
Промокоды, акции и подарки, чтобы Ваше обучение было не только интересным, но и выгодным. Закажите пробный урок уже сейчас!
skyeng.ru
Онлайн школа английского языка
Английский по скайпу от 680р за урок, без заучивания правил. Эффективно! Удобно! Выгодно! Начните обучение прямо сейчас.
melene.ru
Школа английского языка по Skype
Персональные занятия по разумным ценам. Бесплатные ресурсы для студентов: разговорные клубы, блог, вебинары, книги, тест на определение уровня английского. Пробный урок бесплатно!
englex.ru