質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

1353閲覧

Ruby できる範囲で書いたプログラムをチェックしてもらいたいです。

kakeru0209

総合スコア11

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2016/12/16 07:55

###他にどのような書き方があるのか知りたいです。
Rubyを学び始めました。身近な内容でプログラムを作ってみようと思い、「割り勘」について書いてみました。ただ、現状では以下の記述が限界です。他にどのような書き方ができるのか知りたいです。よろしくお願いいたします。
###nomi_kanjoh.rb
puts "合計は?"
goukei = gets.to_i
puts "#{goukei}円"

puts "飲んだ人数は?"
nonda = gets.to_i
puts "#{nonda}人"

puts "飲まなかった人数は?"
nomanai = gets.to_i
puts "#{nomanai}人"

puts "お酒の合計は?"
osake = gets.to_i
puts "#{osake}円"

puts "ジュースの合計は?"
juice = gets.to_i
puts "#{juice}円"

tabe = goukei-(osake+juice)
nomiwari = osake/nonda
nomanaiwari = juice/nomanai
tabewari = tabe/(nonda+nomanai)

nomiwarisum = tabewari + nomiwari
nomanaiwarisum = tabewari + nomanaiwari

puts "飲んだ人: #{nomiwarisum}円"
puts "飲まなかった人:#{nomanaiwarisum}円"

###試したこと
kanjoh = %w(合計 お酒 ジュース)
kanjoh2 = %w(total osake juice)

kanjoh.each do |goukei|
i = 0
puts "#{goukei}は?"
kanjoh2[i] = gets.to_i
puts "#{kanjoh2[i]}円"
end

kanjoh

バージョン

Ruby 2.3.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

合計や人数を聞く処理をまとめたりすると良いかなと思います。

ruby

1def ask(message, suffix) 2 puts message 3 num = gets.to_i 4 puts "#{num}#{suffix}" 5 num 6end 7 8goukei = ask('合計は?', '円') 9nonda = ask('飲んだ人数は?', '人') 10nomanai = ask("飲まなかった人数は?", '人') 11osake = ask("お酒の合計は?", '円') 12juice = ask('ジュースの合計は?', '円') 13 14tabe = goukei - (osake+juice) 15tabewari = tabe/(nonda+nomanai) 16 17nomiwari = osake/nonda 18nomanaiwari = juice/nomanai 19 20nomiwarisum = tabewari + nomiwari 21nomanaiwarisum = tabewari + nomanaiwari 22 23puts "飲んだ人: #{nomiwarisum}円" 24puts "飲まなかった人:#{nomanaiwarisum}円"

投稿2016/12/17 03:26

cameluby

総合スコア891

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kakeru0209

2016/12/19 11:40

回答ありがとうございます! このようなやり方があったのですね…。 スッキリと書くことができて、とても嬉しいです(^^) 勉強になりました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問