Rubyで入力された数値、演算子を元に、その演算結果を表示するプログラムを作成したいと考えております。
いわば電卓のようなものです。
例)
数値を入力> 1
演算子を入力(+ - * / =)> +
数値を入力> 2
演算子を入力(+ - * / =)> =
3
と、いうようなことをイメージしています。
現在はcase文を使った方法を模索しています(下のコード)。
ーーーーーーーーーーーーーーーーーーーーー
puts "数値を入力してください"
puts "演算子(+ - * / =)を入力してください"
enzan1 = gets.chomp
puts "数値を入力してください"
num2 = gets.to_i
puts "演算子(+ - * / =)を入力してください"
enzan2 = gets
ans1 = num1 + num2
ans2 = num1 - num2
ans3 = num1 * num2
ans4 = num1 / num2
case enzan1
when "+" then
puts ans1
when "-" then
puts ans2
when "*" then
puts ans3
when "/" then
puts ans4
else
puts "よくわかりません"
end
ーーーーーーーーーーーーーーーーーー
このコードだと、enzan2が=出なくても動いてしまうので、そこを改善したいのが一点
また、はじめにasn1~ans4までしか指定していないので、
より複雑な計算に対応できないことを改善する方法を考えています。
追記
私の質問が言葉足らずなところがあったので修正します。
計算が1+2*3の時は9になるようにしたいです。
また、二つ目の演算子は=ではなくても構いません、=が入力された時に最終計算結果を出力できるようにしたいと考えています。
回答2件
あなたの回答
tips
プレビュー