Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [c++] esercizio scomporre meno di un euro

    facendo gli esercizi del libro "programmare in c++" della o'reilly mi sono imbattuto in uno che chiedeva, dato un importo minore di un euro, di dire quante monete da 50, 20, 10, 5,2 ,1 centesimi servono.
    qualche idea?
    io non so come iniziare
    grazie a tutti
    ciao

  2. #2
    tu hai i centesimi, fai una divisione intera per 50 ed hai i pezzi da 50, prendi il resto e fai la divisione intera con 20, ed hai i pezzi da 20, prendi il resto e così via
    ciao
    sergio

  3. #3
    hai ragione
    che stupido e io mi stavo impiccando per farlo senza divisione intera
    grazie
    ciao

  4. #4
    ok lo ho fatto..
    giusto per migliorare lo "stile" di programmazione mi dareste qualche consiglio perchè quello che ho fatto io mi sembra troppo arzigogolato
    codice:
    #include <iostream>
     #include <stdio.h> 
    using namespace std;  
    int main() { 
        int importo;
         int cinquanta; 
        int venti; 
        int dieci;   
      int cinque;  
       int due;   
      int uno;   
      cout<<"inserisci un importo (in centesimi)"<<endl;     
    cin>>importo;     
    cinquanta=(importo-(importo%50))/50;     
    venti=((importo-(50*cinquanta))-((importo-(50*cinquanta))%20))/20;     
    dieci=(importo-(50*cinquanta)-(20*venti))-((importo-(50*cinquanta)-(20*venti))%10))/10;     cinque=((importo-(50*cinquanta)-(20*venti)-(10*dieci))-(importo-(50*cinquanta)-(20*venti)-(10*dieci))%5)/5;     due=((importo-(50*cinquanta)-(20*venti)-(10*dieci)-(5*cinque))-((importo-(50*cinquanta)-(20*venti)-(10*dieci)-(5*cinque))%2))/2;     uno=(importo-(50*cinquanta)-(20*venti)-(10*dieci)-(5*cinque))%2;     
    out<<"pezzi da 50 : "<<cinquanta<<endl;     
    cout<<"pezzi da 20 : "<<venti<<endl;    
    cout<<"pezzi da 10 : "<<dieci<<endl;     
    cout<<"pezzi da 5 : "<<cinque<<endl;     
    cout<<"pezzi da 2 : "<<due<<endl;     
    cout<<"pezzi da 1 : "<<uno<<endl;      
    getchar();    
     return 0; }

  5. #5
    se il tuo scopo era renderlo illegibile andava bene, altrimenti ti suggerisco questa forma
    codice:
    #include <iostream>
    
    using std::cin;  
    using std::cout;  
    using std::endl;  
    
    int main() { 
    
    	unsigned int importo;
    
    	unsigned int cinquanta_cent; 
    	unsigned int venti_cent; 
    	unsigned int dieci_cent;   
    	unsigned int cinque_cent;  
    	unsigned int due_cent;   
    	unsigned int un_cent;   
    
    	cout << "Inserisci un importo (in centesimi) " << endl;     
    
    	cin >> importo;     
    
    	cinquanta_cent = ( importo / 50 ) ;
    	importo = importo % 50;
    
    	venti_cent= importo / 20 ;
    	importo = importo % 20;
    
    	dieci_cent = importo / 10 ;
    	importo = importo % 10;
    
    	cinque_cent = importo / 5 ;
    	importo = importo % 5;
    
    	due_cent = importo / 2 ;
    	importo = importo % 2;
    
    	un_cent = importo  ;
    
    	cout << "pezzi da 50 : " << cinquanta_cent << endl;     
    	cout << "pezzi da 20 : " << venti_cent << endl;    
    	cout << "pezzi da 10 : " << dieci_cent << endl;     
    	cout << "pezzi da 5 : " << cinque_cent << endl;     
    	cout << "pezzi da 2 : " << due_cent << endl;     
    	cout << "pezzi da 1 : " << un_cent << endl;      
    
    	return 0;
    
    }

  6. #6
    grazie mille
    unica cosa invece di elencare all'inizio
    using std::cin;
    using std::cout;
    using std::endl;

    non si fa prima a scrivere
    using namespace std; ?
    grazie ancora

  7. #7
    espliciti quello che userai della libreria standard e rendi un pochino più chiaro il codice

    ciao
    sergio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.