回答編集履歴
3
移植性のあるコードへの修正でバグが混入したため除去。
test
CHANGED
@@ -30,9 +30,9 @@
|
|
30
30
|
|
31
31
|
} else {
|
32
32
|
|
33
|
-
struct tm t2 = {0, 0, 0, 2, 0, 70}, t3 = {0, 0, 0, 3, 0, 70};
|
33
|
+
struct tm t2 = {0, 0, 0, 2, 0, 70}, t3 = {0, 0, 0, 3, 0, 70}, t4 = {0, 0, 0, 1, 0, 71};
|
34
34
|
|
35
|
-
time_t sec = (date-1) * (mktime(&t3) - mktime(&t2));
|
35
|
+
time_t sec = (date-1) * (mktime(&t3) - mktime(&t2)) + mktime(&t4);
|
36
36
|
|
37
37
|
struct tm t = *gmtime(&sec);
|
38
38
|
|
2
バグの修正
test
CHANGED
@@ -30,11 +30,11 @@
|
|
30
30
|
|
31
31
|
} else {
|
32
32
|
|
33
|
-
struct tm t = {0, 0, 0, 2, 0, 70};
|
33
|
+
struct tm t2 = {0, 0, 0, 2, 0, 70}, t3 = {0, 0, 0, 3, 0, 70};
|
34
34
|
|
35
|
-
time_t sec = (date-1) * mktime(&t);
|
35
|
+
time_t sec = (date-1) * (mktime(&t3) - mktime(&t2));
|
36
36
|
|
37
|
-
t = *gmtime(&sec);
|
37
|
+
struct tm t = *gmtime(&sec);
|
38
38
|
|
39
39
|
printf("\n%d日目は、%sの%d日です。\n",date,p_mnt[t.tm_mon],t.tm_mday);
|
40
40
|
|
1
移植性のあるコードに修正した。
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
動くコードに、落第点をつける教官はいませんので、
|
2
2
|
|
3
3
|
```C
|
4
4
|
|
@@ -12,21 +12,15 @@
|
|
12
12
|
|
13
13
|
{
|
14
14
|
|
15
|
-
char *p_mnt[] = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","sep","Oct","Nov","Dec"};
|
15
|
+
const char *p_mnt[] = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","sep","Oct","Nov","Dec"};
|
16
16
|
|
17
17
|
int date;
|
18
|
-
|
19
|
-
time_t t;
|
20
|
-
|
21
|
-
struct tm t2;
|
22
18
|
|
23
19
|
|
24
20
|
|
25
21
|
printf("1月1日からの日数を入力してください:");
|
26
22
|
|
27
23
|
scanf("%d",&date);
|
28
|
-
|
29
|
-
t = (date-1) * 86400L;
|
30
24
|
|
31
25
|
|
32
26
|
|
@@ -36,12 +30,24 @@
|
|
36
30
|
|
37
31
|
} else {
|
38
32
|
|
39
|
-
t
|
33
|
+
struct tm t = {0, 0, 0, 2, 0, 70};
|
40
34
|
|
35
|
+
time_t sec = (date-1) * mktime(&t);
|
36
|
+
|
37
|
+
t = *gmtime(&sec);
|
38
|
+
|
41
|
-
printf("\n%d日目は、%sの%d日です。\n",date,p_mnt[t
|
39
|
+
printf("\n%d日目は、%sの%d日です。\n",date,p_mnt[t.tm_mon],t.tm_mday);
|
42
40
|
|
43
41
|
}
|
44
42
|
|
45
43
|
}
|
46
44
|
|
47
45
|
```
|
46
|
+
|
47
|
+
こんなコードを。
|
48
|
+
|
49
|
+
分からないときは、「日付」「C言語」など、適切なキーワードでggり、調べましょう。大抵の問題は、先人がライブラリという形で解決してくれています。調査すら怠るようでは、丸投げと言われても仕方ないですよ。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
追記:移植性がなかったため修正。
|