teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

修正

2017/01/04 15:12

投稿

退会済みユーザー
answer CHANGED
@@ -3,7 +3,7 @@
3
3
  day = gets.chomp.to._i
4
4
  ```
5
5
  .to_iの間違いが原因ではと私個人は予想します
6
- 以下、勝手に改造。
6
+ 以下、コピペ
7
7
 
8
8
  ```Ruby
9
9
  #encoding : utf-8

3

補足

2017/01/04 15:12

投稿

退会済みユーザー
answer CHANGED
@@ -2,4 +2,98 @@
2
2
  print "発刊日: "
3
3
  day = gets.chomp.to._i
4
4
  ```
5
- .to_iの間違いが原因ではと私個人は予想します
5
+ .to_iの間違いが原因ではと私個人は予想します
6
+ 以下、勝手に改造。
7
+
8
+ ```Ruby
9
+ #encoding : utf-8
10
+ require 'date'
11
+
12
+ class BookInfo
13
+ def initialize( title, author, page, publish_date )
14
+ @title = title
15
+ @author = author
16
+ @page = page
17
+ @publish_date = publish_date
18
+ end
19
+
20
+ attr_accessor :title, :author, :page, :publish_date
21
+ def to_s
22
+ "#{@title}, #{@author}, #{@page}, #{@publish_date}"
23
+ end
24
+
25
+ def toFormattedString( sep = "\n" )
26
+ "書籍名: #{@title}#{sep}著書名: #{author}#{sep}ページ数: #{@page}ぺ―ジ#{sep}発刊日: #{@publish_date}#{sep}"
27
+ end
28
+ end
29
+
30
+ class BookInfoManager
31
+ def initialize
32
+ @book_infos = {}
33
+ end
34
+
35
+ def setUp
36
+ @book_infos["Yamada2005"] = BookInfo.new(
37
+ "実践アジャイル ソフトウェア開発法とプロジェクト管理",
38
+ "山田 正樹",
39
+ 248,
40
+ Date.new( 2005, 1, 25 ) )
41
+ @book_infos["Ooba2006"] = BookInfo.new(
42
+ "入門LEGO MINDSTORMS NXT レゴブロックで動くロボット",
43
+ "大庭 慎一郎",
44
+ 164,
45
+ Date.new( 2006, 12, 23 ) )
46
+ end
47
+
48
+ def addBookInfo
49
+ book_info = BookInfo.new( "", "", 0, Date.new )
50
+ print "\n"
51
+ print "キー: "
52
+ key = gets.chomp.encode("UTF-8")
53
+ print "書籍名: "
54
+ book_info.title = gets.chomp.encode("UTF-8")
55
+ print "著者名: "
56
+ book_info.author = gets.chomp.encode("UTF-8")
57
+ print "ページ数: "
58
+ book_info.page = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i
59
+ print "発刊年: "
60
+ year = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i
61
+ print "発刊月: "
62
+ month = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i
63
+ print "発刊日: "
64
+ day = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_i
65
+ book_info.publish_date = Date.new( year, month, day )
66
+ @book_infos[key] = book_info
67
+ end
68
+ def listAllBookInfos
69
+ puts "\n---------------------"
70
+ @book_infos.each { |key, info|
71
+ print info.toFormattedString
72
+ puts "\n----------------------------"
73
+ }
74
+ end
75
+ def run
76
+ while true
77
+ print "
78
+ 1.蔵書データの登録
79
+ 2.蔵書データの表示
80
+ 9.終了
81
+ 番号を選んでください(1,2,9) :"
82
+
83
+ num = gets.chomp.encode("UTF-8").tr("0-9","0-9").to_s
84
+ case
85
+ when '1' == num
86
+ addBookInfo
87
+ when '2' == num
88
+ listAllBookInfos
89
+ when '9' == num
90
+ break;
91
+ else
92
+ end
93
+ end
94
+ end
95
+ book_info_manager = BookInfoManager.new
96
+ book_info_manager.setUp
97
+ book_info_manager.run
98
+ end
99
+ ```

2

修正

2017/01/04 15:11

投稿

退会済みユーザー
answer CHANGED
@@ -2,4 +2,4 @@
2
2
  print "発刊日: "
3
3
  day = gets.chomp.to._i
4
4
  ```
5
- .to_iの間違いが原因では。
5
+ .to_iの間違いが原因ではと私個人は予想します

1

修正

2017/01/04 14:58

投稿

退会済みユーザー
answer CHANGED
@@ -2,4 +2,4 @@
2
2
  print "発刊日: "
3
3
  day = gets.chomp.to._i
4
4
  ```
5
- .to_iの間違いでは。
5
+ .to_iの間違いが原因では。