Derzeit nutze ich den MENTA-Service und erhalte Anleitungen von Yamataku Mentor.
Klicken Sie hier, um mehr über Yamataku Mentoren und Dienstleistungen zu erfahren! (https://menta.work/plan/584)
Unter ihnen haben wir diesmal die Aufgabe "Implementierung der Automatenlogik" übernommen, also werden wir sie ausgeben.
Darüber hinaus ist dieses Problem eine Logik, die von Swift-Anfängern erstellt wurde, und ich denke, es gibt viele Punkte, die nicht erreicht werden können. Ich würde es begrüßen, wenn Sie mit warmen Augen wachen könnten.
Wir akzeptieren immer Ratschläge.
Umgebung
-Playground
・ Sie können japanischen Yen eingeben -Vergleicht den eingegebenen japanischen Yen mit dem Preis des Getränks und gibt die käufliche Flagge zurück, wenn der erstere den Wert des letzteren überschreitet und das Zielgetränk auf Lager ist. ・ Zielgetränke sind "Kaffee", "Wasser" und "Monster" ・ Reduzieren Sie den Vorrat des Zielgetränks um 1, wenn Sie die Kaufverfügbarkeitsbeurteilung des Zielgetränks zurückgeben.
・ Geben Sie den Änderungsbetrag beim Kauf eines Getränks zurück ・ Ausgabe "nicht vorrätig", wenn nicht vorrätig
VirtualVendingMachine.rb
import UIKit
class VirtualVendingMachine {
//Getränketyp
enum DrinkType {
case coffee
case water
case monster
}
var inputedYen: Int = 0
//Preis
var coffeePrice: Int = 120
var waterPrice: Int = 100
var monsterPrice: Int = 210
//Lager
var coffeeStock: Int = 5
var waterStock: Int = 5
var monsterStock: Int = 5
//Getränk kaufen
func buyDrink(type: DrinkType, inputedYen: Int) -> Bool {
var isBuyable = false
coinOutput(type: type, inputedYen: inputedYen)
switch type {
case .coffee:
isBuyable = coffeePrice <= inputedYen && 0 < coffeeStock
case .water:
isBuyable = waterPrice <= inputedYen && 0 < waterStock
case .monster:
isBuyable = monsterPrice <= inputedYen && 0 < monsterStock
}
returnDrinkTypeSwich(type: type, inputedYen:inputedYen)
return isBuyable
}
//Getränketyp
func returnDrinkTypeSwich(type: DrinkType, inputedYen:Int) {
switch type {
case .coffee:
coffeeReturnYenStock(type:type, inputedYen: inputedYen)
case .water:
waterReturnYenStock(type:type, inputedYen: inputedYen)
case .monster:
waterReturnYenStock(type:type, inputedYen: inputedYen)
}
}
//Japanischer Yen ausgeben
func coinOutput(type: DrinkType,inputedYen: Int){
print("\(inputedYen)Yen wurde eingesetzt")
}
//Wenn Kaffee gekauft wird, ändern und verwalten Sie das Inventar
func coffeeReturnYenStock(type: DrinkType,inputedYen: Int){
//Wechselgeld zurückgeben
if coffeeStock <= 0 {
print("Weil kein Kaffee auf Lager ist\(inputedYen)Ich werde den Yen zurückgeben")
}else if inputedYen >= coffeePrice{
var returnYen1 = inputedYen - coffeePrice
print("Danke für Ihren Einkauf")
print("Veränderung\(returnYen1)Es ist ein Kreis")
}else{
var noenoughcoins = coffeePrice - inputedYen
print("\(noenoughcoins)Nicht genug Yen")
}
//Bestandsverwaltung
if inputedYen >= coffeePrice && coffeeStock > 0 {
coffeeStock -= 1
print("Aktueller Kaffeeinventar\(coffeeStock)ist")
}else{
return
}
}
//Ändern und verwalten Sie das Inventar, wenn Wasser gekauft wird
func waterReturnYenStock(type: DrinkType,inputedYen: Int){
if waterStock <= 0 {
print("Weil kein Wasser auf Lager ist\(inputedYen)Ich werde den Yen zurückgeben")
}else if inputedYen >= waterPrice{
var returnYen2 = inputedYen - waterPrice
print("Danke für Ihren Einkauf")
print("Veränderung\(returnYen2)Es ist ein Kreis")
}else{
print("Nicht genug Geld")
}
if inputedYen >= waterPrice && waterStock > 0 {
waterStock -= 1
print("Aktueller Wasserbestand\(waterStock)ist")
}else{
return
}
}
//Verwalte Veränderungen und Inventar, wenn Monster gekauft werden
func monsterReturnYenStock(type: DrinkType,inputedYen: Int){
if monsterStock <= 0 {
print("Weil kein Monster auf Lager ist\(inputedYen)Ich werde den Yen zurückgeben")
}else if inputedYen >= monsterPrice {
var returnYen3 = inputedYen - monsterPrice
print("Danke für Ihren Einkauf")
print("Veränderung\(returnYen3)Es ist ein Kreis")
}else{
print("Nicht genug Geld")
}
if inputedYen >= monsterPrice && monsterStock > 0{
monsterStock -= 1
print("Der aktuelle Bestand an Monstern\(monsterStock)ist")
}else{
return
}
}
}
let virtualVendingMachine = VirtualVendingMachine()
let isSuccessToBuy = virtualVendingMachine.buyDrink(type: .water, inputedYen: 150)
print(isSuccessToBuy)
-Es war schwierig, die Funktion zu benennen. ・ Ich habe das Gefühl, dass der Code eintönig geworden ist.
Ich denke, dass das Nachdenken über Logik sehr gut für die Ausgabe des grundlegenden Lernens geeignet ist. Sie können verschiedene Dinge entdecken und feststellen, was Sie nicht können. Wenn Sie also vom Grundlernen abbrechen möchten, probieren Sie es einfach aus.
Na dann!
Recommended Posts