Ich möchte ein Programm erstellen, wo ein Benutzer im Grunde eine Einkaufsliste "erstellt", wo der Benutzer Artikel und Preis eingibt, bis sie beenden möchten. Wenn der Benutzer 'q' oder 'Q' eingibt, sollte das Programm den Benutzer nicht mehr auffordern und stattdessen die Zwischensumme berechnen, eine nominale Umsatzsteuer von 6% hinzufügen und das Gesamtergebnis anzeigen.Ruby - Wie Zwischensumme von Artikeln in einer Einkaufsliste berechnen
Ich habe den ersten Teil unten, wo Benutzer ihren Artikel und Preis eingibt, aber ich weiß nicht, wie man es mir die Zwischensumme sagen und ihnen eine Quittung geben. Ich habe es 7 Stunden lang versucht !! Wenn ich es laufen, es soll sagen:
Enter an item and its price, or ’Q/q’ to quit: eggs 2.13
Enter an item and its price, or ’Q/q’ to quit: milk 1.26
Enter an item and its price, or ’Q/q’ to quit: batteries 3.14
Enter an item and its price, or ’Q/q’ to quit: q
Receipt:
--------
eggs => $2.13
milk => $1.26
batteries => $3.14
---------
subtotal: $6.53
tax: $0.39
total: $6.92
Hier ist der Code ich gemacht: (Kann mir jemand bitte helfen ???)
def create_list
puts 'Please enter item and its price or type "quit" to exit'
items = gets.chomp.split(' ')
grocery_list = {}
index = 0
until index == items.length
grocery_list[items[index]] = 1
index += 1
end
grocery_list
end
def add_item (list)
items = ''
until items == 'quit'
puts "Enter a new item & amount, or type 'quit'."
items = gets.chomp
if items != 'quit'
new_item = items.split(' ')
if new_item.length > 2
#store int, delete, combine array, set to list w/ stored int
qty = new_item[-1]
new_item.delete_at(-1)
new_item.join(' ')
p new_item
end
list[new_item[0]] = new_item[-1]
else
break
end
end
list
end
add_item(create_list)
puts "Receipt: "
puts "------------"