class Order
def initialize
@positions = []
end
def add(title, price, count)
@positions << [title, price, count]
end
def print
printf("% 20s % 15s % 15s % 15s\n", 'Наименование', 'Количество', 'Цена', 'Итого')
@positions.each do |position|
printf("% 20s % 15d % 15.2f % 15.2f\n", position[0], position[2], position[1], position[1]*position[2])
end
printf("% 68.2f\n", total)
end
def total
subtotal = @positions.reduce(0.0) do |result, position|
result += position[1]*position[2]
end
if subtotal >= 200
subtotal * 0.8
elsif subtotal >= 100
subtotal * 0.9
else
subtotal
end
end
end
Y2xhc3MgT3JkZXIKICBkZWYgaW5pdGlhbGl6ZQogICAgQHBvc2l0aW9ucyA9IFtdCiAgZW5kCgogIGRlZiBhZGQodGl0bGUsIHByaWNlLCBjb3VudCkKICAgIEBwb3NpdGlvbnMgPDwgW3RpdGxlLCBwcmljZSwgY291bnRdCiAgZW5kCgogIGRlZiBwcmludAogICAgcHJpbnRmKCIlIDIwcyAlIDE1cyAlIDE1cyAlIDE1c1xuIiwgJ9Cd0LDQuNC80LXQvdC+0LLQsNC90LjQtScsICfQmtC+0LvQuNGH0LXRgdGC0LLQvicsICfQptC10L3QsCcsICfQmNGC0L7Qs9C+JykKICAgIEBwb3NpdGlvbnMuZWFjaCBkbyB8cG9zaXRpb258CiAgICAgIHByaW50ZigiJSAyMHMgJSAxNWQgJSAxNS4yZiAlIDE1LjJmXG4iLCBwb3NpdGlvblswXSwgcG9zaXRpb25bMl0sIHBvc2l0aW9uWzFdLCBwb3NpdGlvblsxXSpwb3NpdGlvblsyXSkKICAgIGVuZAogICAgcHJpbnRmKCIlIDY4LjJmXG4iLCB0b3RhbCkKICBlbmQKCiAgZGVmIHRvdGFsCiAgICBzdWJ0b3RhbCA9IEBwb3NpdGlvbnMucmVkdWNlKDAuMCkgZG8gfHJlc3VsdCwgcG9zaXRpb258CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBwb3NpdGlvblsxXSpwb3NpdGlvblsyXQogICAgICAgICAgICAgICAgICAgICAgICAgZW5kCiAgICBpZiBzdWJ0b3RhbCA+PSAyMDAKICAgICAgc3VidG90YWwgKiAwLjgKICAgIGVsc2lmIHN1YnRvdGFsID49IDEwMAogICAgICBzdWJ0b3RhbCAqIDAuOQogICAgZWxzZQogICAgICBzdWJ0b3RhbAogICAgZW5kCiAgZW5kCmVuZA==