Bonjoiur,
Je dirais que tu n'as pas réellement besoin de faire des calculs compliqué, si tu sais que ton "unité" (je vais continuer à utiliser ce terme dans le reste de mon explication ça me semble le plus logique) de base c'est le cuivre (l'unité la plus basse j'entend) te suffit juste par exemple de checker dans ton code si la pièce en question est une pièce de cuivre, d'argent etc.. et dans le cas où c'est autre chose qu'une pièce de cuivre il te suffit d'attribuer une valeur de base pour calculer (genre 1 argent = 100 cuivres) donc si la pomme coûte 5 argent (en imaginant) et que l'utilisateur donnes 6 d'argents tu pourras lui rendre soit 1 d'argent soit 100 de cuivre etc..
Je ne sais pas si mon explication est clair mais bon.