|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Regno Unito
Messaggi: 5726
|
Il float in C, ho qualche problema.
Sono alle mie prime esperienze con il comando float, ci ho perso un oretta a capire come fare a farlo funzionare in questo codice ma senza risultato.
Vorrei capire come posso fare in modo che le tutte le variabili tranne numeroconto possano essere inserite con 2 decimali. Ho provato vari metodi fallendo, chi mi da una mano? Codice:
#include<stdio.h>
int main()
{
int numeroconto, saldoiniziale, spese, crediti, limitecredito, nuovosaldo;
while ( numeroconto != -1 ) {
printf( "Inserire il numero di conto (-1 per terminare l'applicazione):" );
scanf( "%d", &numeroconto );
printf( "Inserire il saldo iniziale:" );
scanf( "%d", &saldoiniziale );
printf( "Inserire le spese:" );
scanf( "%d", &spese );
printf( "Inserire i crediti:" );
scanf( "%d", &crediti );
printf( "Inserire limite di credito:" );
scanf( "%d", &limitecredito );
nuovosaldo = saldoiniziale + spese - crediti;
if ( nuovosaldo > limitecredito ) {
printf( "Numero conto:%d", numeroconto );
printf( "Limite di credito:%d", limitecredito );
printf( "Nuovo saldo:%d", nuovosaldo );
printf( "Limite di credito superato" );
}
}
printf("Uscire y/n?:");
if (getchar() != '\n');
while (getchar() != 'y');
return 0;
}
__________________
3090 FE & Ryzen 5700x - Legion 7 5800h 32gb - 3080 16gb |
|
|
|
|
|
#2 | ||||
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Almeno, questo è quello che ho capito da una rapida lettura dell'Appendice B del Kernighan&Ritchie, che dovrebbe essere in tuo possesso. Il programma mi sembra filosoficamente corretto, nel senso che puoi mettere il tipo float alle variabili che vuoi, e poi devi solo sostituire lo specificatore "%d" con "%f" dove serve. Ti segnalo solo qualche punto: Quote:
Quote:
Quote:
Codice:
while ((c=getchar()) != 'y' && c!='n')
;
__________________
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 |
||||
|
|
|
|
|
#3 | ||
|
Senior Member
Iscritto dal: Sep 2003
Città: Regno Unito
Messaggi: 5726
|
Quote:
Quote:
Codice:
#include<stdio.h>
int main()
{
int numeroconto;
float saldoiniziale, spese, crediti, limitecredito, nuovosaldo;
printf( "Inserire il numero di conto ( -1 per terminare l'applicazione ):" );
scanf( "%d", &numeroconto );
while ( numeroconto != -1 ) {
printf( "Inserire il saldo iniziale:" );
scanf( "%f", &saldoiniziale );
printf( "Inserire le spese:" );
scanf( "%f", &spese );
printf( "Inserire i crediti:" );
scanf( "%f", &crediti );
printf( "Inserire limite di credito:" );
scanf( "%f", &limitecredito );
nuovosaldo = saldoiniziale + spese - crediti;
if ( nuovosaldo > limitecredito ) {
printf( "Numero conto:%d\n", numeroconto );
printf( "Limite di credito:%f\n", limitecredito );
printf( "Nuovo saldo:%f\n", nuovosaldo );
printf( "Limite di credito superato\n\n" );
}
else {
printf( "Inserire il numero di conto ( -1 per terminare l'applicazione ):" );
scanf( "%d", &numeroconto );
}
}
printf("Uscire y/n?:");
while (getchar() != 'y');
return 0;
}
__________________
3090 FE & Ryzen 5700x - Legion 7 5800h 32gb - 3080 16gb |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:02.



















