ragazzi è sicuramente una stupidaggine, ho ritrovato questo programma fatto un po di tempo fa e mi sono accorto che inserendo il valore -1 (sentinella) l'iterazione non si ferma subito ed esce dal ciclo...ma continua a prendere in input le restanti variabili....perchè?

codice:
#include <stdio.h>

int main(){
    
    float newSaldo = 1;
    
    float creditLimit, saldoImese, totCrediti, artConto;
    int nConto;
    
    
       printf("Inserire numero di conto = ");
       scanf("%d", &nConto);
       
       printf("Inserire saldo inizio mese = ");
       scanf("%f", &saldoImese);
       
       printf("Inserire totale degli articoli in conto = ");
       scanf("%f", &artConto);
       
       printf("Inserire totale dei crediti = ");
       scanf("%f", &totCrediti);
       
       printf("Inserire limite di conto = ");
       scanf("%f", &creditLimit);
       
       printf("\n");
       
       
    while(nConto != -1){
                     
       newSaldo = saldoImese + artConto - totCrediti;
       
          printf("Inserire numero di conto = ");
          scanf("%d", &nConto);
       
          printf("Inserire saldo inizio mese = ");
          scanf("%f", &saldoImese);
       
          printf("Inserire totale degli articoli in conto = ");
          scanf("%f", &artConto);
       
          printf("Inserire totale dei crediti = ");
          scanf("%f", &totCrediti);
       
          printf("Inserire limite di conto = ");
          scanf("%f", &creditLimit);
       
          printf("\n");
       
          if(newSaldo > creditLimit){
             printf("NUMERO DI CONTO = %d\n", nConto);
             printf("LIMITE DI CREDITO = %.2f\n", creditLimit);
             printf("NUOVO SALDO = %.2f\n", newSaldo);
             printf("******** IL SUO CREDITO HA RAGGIUNTO IL LIMITE ********\n");
          }/* FINE if */
       }/* FINE while */
       
       system ("pause");
       return 0;
}