Menu
CoddyTech

Riepilogo - Calcolatrice semplice

Fa parte della sezione Programmazione orientata agli oggetti del percorso GDScript di Coddy. Lezione 8 di 65.

challenge icon

Sfida

Medio

Scrivi la classe Calculator in calculator.gd. Mantiene un risultato progressivo nella proprietà float result, che parte da 0.0.

  • add(number), subtract(number), multiply(number) e divide(number) applicano l’operazione a result con number, memorizzano il nuovo risultato e lo restituiscono
  • Quando divide() riceve 0, stampa Error: Division by zero, lascia result invariato e lo restituisce
  • clear() reimposta result a 0.0 e lo restituisce
  • get_result() restituisce result

Il codice fornito legge quanti comandi seguono, poi un comando per riga, ad esempio add 5, divide 0 o clear. Dopo ogni comando stampa il nome del comando e il valore restituito dal metodo, e alla fine il risultato finale. Per add 5, multiply 3, subtract 2, divide 0 e divide 2 stampa:

add -> 5.0
multiply -> 15.0
subtract -> 13.0
Error: Division by zero
divide -> 13.0
divide -> 6.5
Final result: 6.5

Il tuo codice va in calculator.gd. main.gd contiene il codice di input/output fornito e non può essere modificato.

Provalo tu

extends Node

func _ready():
	# Codice di input/output fornito: lascialo così com'è
	var calc := Calculator.new()
	var count := int(OS.read_string_from_stdin())
	for i in count:
		var parts := OS.read_string_from_stdin().split(" ")
		var value := 0.0
		match parts[0]:
			"add":
				value = calc.add(float(parts[1]))
			"subtract":
				value = calc.subtract(float(parts[1]))
			"multiply":
				value = calc.multiply(float(parts[1]))
			"divide":
				value = calc.divide(float(parts[1]))
			"clear":
				value = calc.clear()
		print("%s -> %s" % [parts[0], value])
	print("Final result: %s" % calc.get_result())

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore GDScript online