|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
[C] Problema stupido
Ciao a tutti!!!
Ho questo listato in C: #include <stdio.h> int main(void){ float salary, salloc, salstat; float sum_salaries=0, sum_taxes=0; while(scanf("%lf", &salary) == 1){ salloc=salary*17/100; salstat=salary*3/100; salary-=salloc-salstat; sum_salaries+=salary; sum_taxes+=salloc+salstat; } printf("Sum of salaries: %f\n", sum_salaries); printf("Sum of taxes: %f\n", sum_taxes); return 0; } Perché mettendo come salario ad esempio 1000 poi quando va a stampare la somma dei salari e la somma delle tasse calcolate mi da sempre 0? Grazie. |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Nov 2001
Città: Gorizia
Messaggi: 20
|
Guarda io non me ne intendo, ma credo che o dichiari double e usi %lf, o dichiari float e usi %f nello scanf.
PS Potrei sbagliare, ma ho fatto un paio di prove e a me sembra funzionare. Ciao e buon divertimento. |
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Jul 2004
Città: Tatooine
Messaggi: 506
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
|
Avete ragione mi sa che è proprio lì il problema a pensarci prima
Però non dovrebbe leggere lo stesso il valore? Grazie |
|
|
|
|
|
#5 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16214
|
Non puoi passare a scanf un puntatore a float quando si aspetta un puntatore a double; e nemmeno un puntatore a double quando si aspetta un puntatore a float.
Puoi invece passare a printf un double quando si aspetta un float, perché durante il passaggio di argomenti alle funzioni, i float vengono automaticamente convertiti in double, e printf è realizzata anche pensando a questo.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:50.



















