質問編集履歴

1

コードの修正

2018/01/10 09:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -22,19 +22,13 @@
22
22
 
23
23
 
24
24
 
25
- 現状だと、入力時点で年/月/日を分けて入力しているので、計算部分も問題ないのです、「/」で区切って文字入力される場合どのようにコードを変更すべきかわからず困っています。
25
+ 現状だと、入力がされるだけっています。
26
26
 
27
27
  ```
28
28
 
29
- % ./trial
29
+ % ./trial 2018/01/10
30
30
 
31
- Year?2018
31
+ 2018/1/10
32
-
33
- Month?01
34
-
35
- Day?10
36
-
37
- Wednesday
38
32
 
39
33
  ```
40
34
 
@@ -54,27 +48,17 @@
54
48
 
55
49
 
56
50
 
57
- int
58
-
59
- getint(void)
51
+ int main(int argc, char **argv)
60
52
 
61
53
  {
62
54
 
63
- char buf[BUFSIZ];
55
+ int y, m, d;
64
56
 
65
- fgets(buf, BUFSIZ, stdin);
57
+ sscanf(argv[1], "%d/%d/%d", &y, &m, &d);
66
58
 
67
- return (atoi(buf));
59
+ printf("%d/%d/%d\n", y, m, d);
68
60
 
69
- }
70
-
71
-
72
-
73
- int
74
-
75
- main(void)
61
+ return 0;
76
-
77
- {
78
62
 
79
63
  struct tm day;
80
64
 
@@ -86,17 +70,13 @@
86
70
 
87
71
  "Friday", "Saturday" };
88
72
 
89
- printf("Year?");
90
73
 
91
- day.tm_year = getint() - 1900;
92
74
 
93
- printf("Month?");
75
+ day.tm_year = y - 1900;
94
76
 
95
- day.tm_mon = getint() - 1;
77
+ day.tm_mon = m - 1;
96
78
 
97
- printf("Day?");
98
-
99
- day.tm_mday = getint();
79
+ day.tm_mday = d;
100
80
 
101
81
  day.tm_hour = day.tm_min = day.tm_sec = 0;
102
82