Quote:
|
Originariamente inviato da Vash88
Vorrei capire come posso fare in modo che le tutte le variabili tranne numeroconto possano essere inserite con 2 decimali.
|
Se usi solo scanf come funzione di input, mi sa che non puoi.
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:
Codice:
int numeroconto, saldoiniziale, spese, crediti, limitecredito, nuovosaldo;
while ( numeroconto != -1 ) {
|
Errore classico: all'avvio del programma, numeroconto non è inizializzata, e per quanto ne sai, potrebbe valere proprio -1.
Quote:
Codice:
if (getchar() != '\n');
|
Non capisco il senso di dare un'istruzione che non fa niente se una certa condizione è vera, e non fa niente se la stessa condizione è falsa.
Quote:
Codice:
while (getchar() != 'y');
|
Forse ti conviene introdurre una variabile ausiliaria c, di tipo int (attenzione: il tipo restituito da getchar è int, non char), e fare una cosa del tipo:
Codice:
while ((c=getchar()) != 'y' && c!='n')
;