Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <algorithm>
- using namespace std;
- struct time {
- string cur_time;
- string showTime() {
- cout << cur_time << endl;
- }
- int takeDays() {
- int a[2];
- a[0] = cur_time[0] - '0';
- a[1] = cur_time[1] - '0';
- return a[0] * 10 + a[1];
- }
- int takeMonths() {
- int a[2];
- a[0] = cur_time[4] - '0';
- a[1] = cur_time[5] - '0';
- return a[0] * 10 + a[1];
- }
- int takeYears() {
- int a[4];
- a[0] = cur_time[8] - '0';
- a[1] = cur_time[9] - '0';
- a[2] = cur_time[10] - '0';
- a[3] = cur_time[11] - '0';
- return a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
- }
- };
- int main() {
- time t1;
- getline(cin, t1.cur_time);
- if (t1.takeDays() == 1) {
- switch (t1.takeMonths()) {
- case 1:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 2:
- cout << "31, " << t1.takeMonths() - 1 << ", " << t1.takeYears();
- break;
- case 3:
- if (t1.takeYears() % 4 == 0 && t1.takeYears() % 100 != 0 || t1.takeYears() % 400 == 0) {
- cout << "29, " << t1.takeMonths() - 1 << ", " << t1.takeYears();
- }
- else cout << "28, " << t1.takeMonths() - 1 << ", " << t1.takeYears();
- break;
- case 4:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 5:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 6:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 7:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 8:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 9:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 10:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 11:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- case 12:
- cout << "31, 12, " << t1.takeYears() - 1;
- break;
- default:
- cout << t1.takeDays() - 1 << ", " << t1.takeMonths() << ", " << t1.takeYears();
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment