in effetti.. con gli apici è molto più leggibile, però anche i numeri sono carini!!
..con il metodo che t'ho detto io riesci a leggere solo un carattere alla volta!
per cui bisogna pensare ad un altro modo.
PENSO...

OK

Modo 1) leggi una stringa (o array di caratteri) e poi la converti (con una funzione STD) in double. Se la conversione non avviene, richiedi il numero (con un ciclo while).

--> Modo 2) leggi direttamente un double (mi sembra tu debba usare %f) in questo modo però se inserisci un carattere il prg va in stallo.

Modo 3) richiedi un carattere di terminazione( es. "-" ): se l'utente vuovle inserire 3.456, dovra inserire 3.456-. (gestisci il tutto con due cicli while uno annidato all'altro).