#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
#テーマ 買い物後や、お金が貰えたときに、今どの位お金があるのかを知りたいけど、いちいち計算するのが面倒くさい人の計算を助けるプログラムです。
#背景 僕が残金を知りたくなったときに、自分の頭で計算すると誤差が出るし、電卓を使うと間違えて入力したら気がつけないので、どっちもの欠点を補えるようなプログラムを作ろうと思いました。
#アイディア while trueを使う 間違えた時用に数字を変えれるようにする 配列を使う。
#結果 配列を使って作ることができた。修正もできた。だけど質問が多すぎたり、ーを使わないと減った時の対応ができないので、改良していきたい
i = 0
nedan =[]
puts"残金を入力"
za = gets.chomp.to_i
while true
printf("%d番目の値段を入力\n",i+1)
nedan << gets.to_i
za += nedan[i]
printf("残金は %d \n",za)
puts"訂正しますか?(する=0 しない=その他の数)"
sen = gets.to_i
if sen == 0
puts"何円に変えますか?"
kaesuu = gets.to_i
za -= nedan[i]
nedan[i] = kaesuu
za += kaesuu
printf("残金は%d円\n",za)
end
i += 1
puts"終了しますか(する=0 しない=その他の数)"
sennta = gets.to_i
if sennta == 0
break
end
#i += 1
end
u = 0
while u < i
printf("%dつ目の値段は%d円です\n",u+1,nedan[u])
u += 1
end
printf("残金は%d円\n",za)
puts"変更する箇所はありますか[はい=0 終了=その他)]"
sen = gets.to_i
if sen == 0
puts"何番目を変えますか?"
kaeban = gets.to_i
if kaeban == 0 or kaeban > i
print("変更を中止します\n")
else
kaeban -= 1 #配列は0から始まるので
puts"何円に変えますか?"
kaesuu = gets.to_i
za -= nedan[kaeban] #残高を一旦取り消し
nedan[kaeban] = kaesuu
za += kaesuu
printf("残金は%d円\n",za)
u = 0
while u < i
printf("%d:%d円\n",u+1,nedan[u])
u +=1
end
printf("変更後の残金は%d円です\n",za)
end
end
print("プログラム終了\n")