忍者ブログ

マドノマグラの初心者自作ゲーム制作日誌 迷走モード

プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。

ブログ履歴

2010/11/06: HSP3.22の環境を整えてみる
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

wedding_numberの恐怖「初めてのプログラミング」10.5追加練習問題3問目

初めてのプログラミングの10.5追加練習問題3問目、wedding_numberの表示を行う。

さらに拡張しそうです…「初めてのプログラミング」10.5追加練習問題2問目で書いたプログラムに追加修正を行う方針。

方針としては、つなぎ部分を" and "にしてみる。これだけで万事解決…たまたまだけれども。

初めてのプログラミング
Chris Pine
オライリー・ジャパン
売り上げランキング: 161616
おすすめ度の平均: 3.5
3 Rubyを使ってHello, Worldから
4 丁寧な解説
4 Ruby



weddingnumber0.rb


def wedding_number number
if number < 0 # 負の数は不可
return "負でない数を入力してください"
end
if number == 0
return "zero"
end

num_string = ""

# 各位の拡張
expander = [[1_000_000_000_000," trillion"],[1_000_000_000," billion"],
[1_000_000," million"],[1_000," thousand"]]

ones_place = ["one","two","three",
"four","five","six",
"seven","eight","nine"]
tens_place = ["ten","twenty","thirty",
"fourty","fifty","sixty",
"seventy","eighty","ninety"]
teenagers = ["eleven","twelve","thirteen",
"fourteen","fifteen","sixteen",
"seventeen","eighteen","nineteen"]

left = number

# 各位 expander の代入

expander.each do |content|
write = left/content[0]
left = left - write * content[0]

if write > 0
place =wedding_number write
num_string = num_string + place + content[1]
if left > 0
num_string = num_string + " and "
end
end
end

write = left/100
left = left - write * 100

if write > 0
num_string = num_string + ones_place[write-1] + " hundred"

if left > 0
num_string = num_string + " and "
end
end

write = left/10
left = left - write * 10

if write > 0
if ((write == 1) and (left > 0))
num_string = num_string + teenagers[left-1]
left = 0
else
num_string = num_string + tens_place[write-1]
end

if left > 0
num_string = num_string + " and "
end
end

write = left
left = 0

if write > 0
num_string = num_string + ones_place[write-1]
end

num_string
end

puts wedding_number(0)
puts wedding_number(9)
puts wedding_number(10)
puts wedding_number(11)
puts wedding_number(17)
puts wedding_number(32)
puts wedding_number(88)
puts wedding_number(99)
puts wedding_number(100)
puts wedding_number(101)
puts wedding_number(234)
puts wedding_number(3_211)
puts wedding_number(999_999)
puts wedding_number(1_000_000_000_000)
PR

この記事にコメントする

NAME
TITLE
MAIL
URL
COMMENT
PASS

この記事へのトラックバック

この記事にトラックバックする:

PR

カテゴリー

最新記事

アーカイブ

プロフィール

HN:
マドノマグラ
性別:
非公開
職業:
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人

リンク

ブログ内検索

バーコード

RSS

忍者ブログ │ [PR]