Menu
CoddyTech

Récapitulatif - Calculatrice simple

Fait partie de la section Programmation orientée objet du Journey GDScript de Coddy. Leçon 8 sur 65.

challenge icon

Défi

Moyen

Écrivez la classe Calculator dans calculator.gd. Elle conserve un résultat courant dans la propriété float result, qui commence à 0.0.

  • add(number), subtract(number), multiply(number) et divide(number) appliquent l’opération à result avec number, stockent le nouveau résultat et le renvoient
  • Lorsque divide() reçoit 0, elle affiche Error: Division by zero, laisse result inchangé et le renvoie
  • clear() réinitialise result à 0.0 et le renvoie
  • get_result() renvoie result

Le code fourni lit le nombre de commandes à exécuter, puis une commande par ligne, par exemple add 5, divide 0 ou clear. Après chaque commande, il affiche le nom de la commande et la valeur renvoyée par la méthode, puis le résultat final à la fin. Pour add 5, multiply 3, subtract 2, divide 0 et divide 2, il affiche :

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

Votre code doit être placé dans calculator.gd. main.gd contient le code fourni pour les entrées et sorties et ne peut pas être modifié.

Essayez vous-même

extends Node

func _ready():
	# Code d'entrée/sortie fourni : conservez-le tel quel
	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())

Toutes les leçons de Programmation orientée objet

Entraînez-vous par vous-même : Compilateur GDScript en ligne