Questo sito ha bisogno della pubblicità per poter essere mantenuto. Gentilmente disabilita il blocco della pubblicità nel tuo browser per questo sito web.
Caricamento in corso...Caricamento in corso...
Caricamento in corso...

Calcolo del Cambio

Costruire il programma Cambio   che calcola il numero minimo di banconote e monete necessarie per ottenere una somma predeterminata.

 

/*
Name: Sepatore Banconote & Cent
Date: 21.11.2010
Author: Licchelli  Deborah
Description: Programma che permette di separe le banconote dalle monete, dopo aver inserito da tastiera un importo.
*/


#include <stdio.h>
#include <stdlib.h>

//Dichiarazione funzione separa
void separa (float importo, int *euro, int *centesimi);

//implementazione
void separa (float importo, int *euro, int *centesimi)
{
     *euro = (int)importo;                  //separa euro
     *centesimi=100*(importo-*euro);        //separa cent
     
     }

void bancomat (int euro, int *euro1, int *euro2, int *euro5, int *euro10, int *euro20, int *euro50, int *euro100, int *euro200, int *euro500, int d)
{
     if (d==0)
      {
              // 500
             *euro500=euro/500;
             euro=euro%500;
             // 200
             *euro200=euro/200;
             euro=euro%200;
             //100
             *euro100=euro/100;
             euro=euro0;
      }
             *euro50=euro/50;
             euro=euro%50;
             
             *euro20=euro/20;
             euro=euro%20;
             
             *euro10=euro/10;
             euro=euro;
             
             *euro5=euro/5;
             euro=euro%5;
             
             *euro2=euro/2;
             *euro1=euro%2;
}
//funzione mostra banconote
void mostraBanconote ( int euro500, int euro200, int euro100, int euro50, int euro20, int euro10, int euro5)
{
     printf("\n\nLe banconote da 500 sono:%d \n", euro500);
     printf("Le banconote da 200 sono:%d \n", euro200);
     printf("Le banconote da 100 sono:%d \n", euro100);
     printf("Le banconote da 50 sono:%d \n", euro50);
     printf("Le banconote da 20 sono:%d \n", euro20);
     printf("Le banconote da 10 sono:%d \n", euro10);
     printf("Le banconote da 5 sono:%d \n\n", euro5);    
}
//funzione mostra monete
void mostraMonete (int euro2, int euro1, int cent50, int cent20, int cent10, int cent5, int cent2, int cent1)
{
     printf("Le monete da 2 euro sono:%d \n", euro2);
     printf("Le monete da 1 euro sono:%d \n", euro1);
     printf("Le monete da 50 cent sono:%d \n", cent50);
     printf("Le monete da 20 cent sono:%d \n", cent20);
     printf("Le monete da 10 cent sono:%d \n", cent10);
     printf("Le monete da 5 cent sono:%d \n", cent5);
     printf("Le monete da 2 cent sono:%d \n", cent2);
     printf("Le monete da 1 cent sono:%d \n\n", cent1);
}
     
     
int 
main(void)
{
    float importo;
    int euro, centesimi;
    int cent1, cent2, cent5, cent10, cent20, cent50;
    int euro1, euro2, euro5, euro10, euro20, euro50, euro100, euro200, euro500, pippo, franco, giorgio;
/*
euro500        =                    Numero di banconote da 500€ necessarie
euro200        =                    Numero di banconote da 200€ necessarie
....
euro1          =                    Numero di monete da 1€ necessarie



*/

    printf(":::::::::::SEPARATORE DI BANCONOTE E MONETE:::::::::::::::");
    
    // Inseriamo l'importo
    printf("\n\n\nInserisca l'importo: \n");
    scanf("%f", &importo);

    
    // Dopo aver inserito l'importo richiamiamo la funzione separa per dividere euro da centesimi
    separa(importo, &euro, &centesimi);

    printf("\nSono Euro: %d \n", euro);
    printf("e Centesimi: %d \n", centesimi);
   
    // Calcola banconote
    bancomat (euro, &euro1, &euro2, &euro5, &euro10, &euro20, &euro50, &euro100, &euro200, &euro500, 0);
    // Calcola monete
    bancomat (centesimi, &cent1, &cent2, &cent5, &cent10, &cent20, &cent50, &pippo, &franco, &giorgio, 1);
  
  
   mostraBanconote ( euro500, euro200, euro100, euro50, euro20, euro10, euro5);
   mostraMonete ( euro2, euro1, cent50, cent20, cent10, cent5, cent2, cent1);
   
   printf("FINE\n");
  
  system("PAUSE");    
  return 0;
}