/* Programma che calcola il resto di un distributora automatico. * L'utente inserisce il valore in centesimi (compreso tra 0,01 e 0,99). * Il programma calcola la combinazione di monete che corrisponde a tale valore. * * ATTENZIONE: PERDIAMO IN PRECISIONE!!! * QUINDI QUESTA PROCEDURA E' INUTILIZZABILE. */ import java.util.Scanner; public class CalcolaRestoCentesimiDouble { public static void main(String[] args) { // Richiesta dei dati all'utente. System.out.println("Inserisci il resto in centesimi da erogare\n" + "(il valore deve essere compreso tra 0,01 e 0,99)"); // Lettura dei dati inseriti dall'utente. Scanner tastiera = new Scanner(System.in); double valoreResto = tastiera.nextDouble(); // Dichiarazione delle variabili. int moneteDa50Centesimi; int moneteDa20Centesimi; int moneteDa10Centesimi; int moneteDa5Centesimi; int moneteDa2Centesimi; int moneteDa1Centesimo; // Calcolo delle monete da erogare. moneteDa50Centesimi = (int) (valoreResto / 0.5); valoreResto = valoreResto % 0.5; System.out.println("\nvaloreResto dopo aver calcolato le monerte da 50 cent: " + valoreResto); moneteDa20Centesimi = (int) (valoreResto / 0.2); valoreResto = valoreResto % 0.2; System.out.println("valoreResto dopo aver calcolato le monerte da 20 cent: " + valoreResto); moneteDa10Centesimi = (int) (valoreResto / 0.1); valoreResto = valoreResto % 0.1; System.out.println("valoreResto dopo aver calcolato le monerte da 10 cent: " + valoreResto); moneteDa5Centesimi = (int) (valoreResto / 0.05); valoreResto = valoreResto % 0.05; System.out.println("valoreResto dopo aver calcolato le monerte da 5 cent: " + valoreResto); moneteDa2Centesimi = (int) (valoreResto / 0.02); valoreResto = valoreResto % 0.02; System.out.println("valoreResto dopo aver calcolato le monerte da 2 cent: " + valoreResto + "\n"); moneteDa1Centesimo = (int) (valoreResto * 100); // Comunicazione del risultato. System.out.println("Ecco le monete che compongono il resto."); System.out.println("Monete da 50 centesimi: " + moneteDa50Centesimi); System.out.println("Monete da 20 centesimi: " + moneteDa20Centesimi); System.out.println("Monete da 10 centesimi: " + moneteDa10Centesimi); System.out.println("Monete da 5 centesimi: " + moneteDa5Centesimi); System.out.println("Monete da 2 centesimi: " + moneteDa2Centesimi); System.out.println("Monete da 1 centesimo: " + moneteDa1Centesimo); } }