Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao a tutti ho un problema con un esercizio: Scrivete un programma che chieda all'utente di inserire un importo in dollari e poi mostri come pagarlo utilizzando il minor numero di biglietti da 20$, 10$, 5$ e 1$. Il consiglio che mi viene dato dall'autore di Programmazione in C dell'apogeo è: Dividete la somma per 20 per determinare il numero di biglietti di 20$ dollari necessari e dopo riducete l'ammontare del valore totale dei biglietti da 20$. Ripetete lo stesso procedimento per i biglietti delle altre taglie. Assicuratevi di usare i valori interi e non a virgola mobile. Allora il problema è che non riesco a capire di quale somma parla ecco il codice:
/* Dichiarazione delle variabili locali alla funzione */
int dollari =0;/* input: Variabile per l'importo in dollari da pagare */
int numero_monete_20 =0;/* output: numero delle monete da 20$ */
int numero_monete_10 =0;/* output: numero delle monete da 10$ */
int numero_monete_5 =0;/* output: numero delle monete da 5$ */
int numero_monete_1 =0;/* output: numero delle monete da 1$ */
do
{
/* Chiedo all'utente di inserire l'importo da pagare */
printf("Inserisci l'importo dei dollari da pagare: ");
scanf("%d", &dollari);
/* Controllo dell'inserimento dell'importo */
if(dollari == 0)
{
printf("ATTENZIONE INSERIRE VALORI DIVERSI DA 0 GRAZIE");
}
}
while(dollari == 0);
numero_monete_20 = dollari /20;
numero_monete_10 = dollari /20;
numero_monete_5 = dollari /20;
numero_monete_1 = dollari /20;
printf("Il numero delle monete da 20$ e' %d\n", numero_monete_20);
printf("Il numero delle monete da 10$ e' %d\n", numero_monete_10);
printf("Il numero delle monete da 5$ e' %d\n", numero_monete_5);
printf("Il numero delle monete da 1$ e' %d\n", numero_monete_1);
return(0);
}
Ubuntu come warning mi da ignoring return value of scanf come protrei risolvere questo warning purtroppo non devo avere ne errori ne warning?
Grazie a tutti per l'aiuto.
Ultima modifica effettuata da luca260786 il 27/02/2013 alle 11:23
Per calcolare quante banconote occorrono per ogni taglio, devi dividere il totale per il valore della banconote - con un cast -. E successivamente, devi sottrarre dal totale l' importo complessivo delle banconote in esame
Per calcolare quante banconote occorrono per ogni taglio, devi dividere il totale per il valore della banconote - con un cast -. E successivamente, devi sottrarre dal totale l' importo complessivo delle banconote in esame
Qiundi, se vuoi evitare il warning devi dichiarare:
Codice sorgente - presumibilmente C/C++
...
int esito=0;
esito=scanf("%d", &dollari);
...
Ciao grazie 1000 per l'aiuto
La prima parte è apposto funziona strano non ci avevo proprio pensato, cmq strano che al secondo capito mette un esercizio del genere. La seconda parte purtroppo non funziona mi da 2 warning uno che la variabile esito non viene usata e il secondo sempre l'ignoramento del valore di ritorno della scanf. Suggerimenti? Grazie.
Ultima modifica effettuata da luca260786 il 28/02/2013 alle 14:28