This repository was archived by the owner on Jun 25, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path15_02.cpp
More file actions
126 lines (109 loc) · 2.48 KB
/
15_02.cpp
File metadata and controls
126 lines (109 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#include <iostream>
using namespace std;
struct Kuupaev
{
int paev;
int kuu;
int aasta;
bool liig;
};
bool on_liigaasta(int aasta)
{
bool liig;
if ((aasta % 4 == 0 && aasta % 100 != 0) || aasta % 400 == 0)
{
liig = true;
}
else
{
liig = false;
}
return liig;
}
int paevad(int kuu, bool liig)
{
int pa;
if (kuu == 1 || kuu == 3 || kuu == 5 || kuu == 7 || kuu == 8 || kuu == 10 || kuu == 12)
{
pa = 31;
}
else if (liig == true && kuu == 2)
{
pa = 29;
}
else if (kuu == 2)
{
pa = 28;
}
else
{
pa = 30;
}
return pa;
}
int kuupaevade_vahe(Kuupaev kuupaev01, Kuupaev kuupaev02)
{
bool liig;
int vahe, vahe_01 = 0, vahe_02 = 0, vahe_03 = 0;
int pa = 0;
for (int i = kuupaev01.kuu; i < 12; i++)
{
pa += paevad(i, kuupaev01.liig);
}
vahe_01 = pa - kuupaev01.paev;
pa = 0;
for (int j = 1; j <= kuupaev02.kuu; j++)
{
pa += paevad(j, kuupaev02.liig);
}
vahe_02 = pa + kuupaev02.paev;
for (int k = kuupaev01.aasta; k < kuupaev02.aasta - 1; k++)
{
liig = on_liigaasta(k);
if (liig == true)
{
vahe_03 += 366;
}
else vahe_03 += 365;
}
vahe = vahe_01 + vahe_02 + vahe_03;
return vahe;
}
int main()
{
Kuupaev kuupaev01, kuupaev02;
int vahe;
algus:
cout << "Sisesta esimene kuupaev (paev kuu aasta):" << endl;
cin >> kuupaev01.paev >> kuupaev01.kuu >> kuupaev01.aasta;
cout << "Sisesta teine kuupaev (paev kuu aasta):" << endl;
cin >> kuupaev02.paev >> kuupaev02.kuu >> kuupaev02.aasta;
if (kuupaev01.aasta < 0 || kuupaev02.aasta < 0)
{
cout << "Aasta ei saa olla negatiivne!" << endl;
cin.clear();
goto algus;
}
else if (kuupaev01.kuu <= 0 || kuupaev02.kuu <= 0)
{
cout << "Kuu ei saa olla negatiivne ega 0!" << endl;
cin.clear();
goto algus;
}
else if (kuupaev01.kuu > 12 || kuupaev02.kuu > 12)
{
cout << "Nii suure numbriga kuud pole olemas!" << endl;
cin.clear();
goto algus;
}
else
{
kuupaev01.liig = on_liigaasta(kuupaev01.aasta);
kuupaev02.liig = on_liigaasta(kuupaev02.aasta);
vahe = kuupaevade_vahe(kuupaev01, kuupaev02);
cout << "Kuupaevade vahe on " << vahe << " paeva." << endl;
cin.ignore(256, '\n');
getchar();
}
return 0;
}