Mi sento davvero stupido a chiedere questo perché so come farlo 101 modi, ma non il modo in cui è definito nel libro. (nota, conosco il C++)Arrotondamento con static_cast <int>?
Finora abbiamo esaminato solo le basi del C++. Quindi, in pratica, conosciamo variabili, assegnazioni e casting di base.
Nel libro che sto avendo problemi con questa parte del problema:
- chiedere all'utente di inserire un numero
- decimale Convertire quel numero al più vicino intero e stamparlo sullo schermo
così ho il codice banale:
double n;
cout<<"Number: ";
cin >> n;
cout <<endl<<static_cast<int>(n)<<endl;
Ma ho capito che questo non funziona per me. Tronterà sempre il decimale in modo che 1.9 -> 1 invece del previsto 1.9 -> 2
Come posso risolvere ciò usando solo ciò che "conosco"? (come in, senza round() o se dichiarazioni e simili)
Si tratta di un problema di conformità agli standard? A scuola I ho pensato a Ho avuto qualcosa di simile a lavorare con Visual C++ 2005 su Windows XP a 32 bit, ma ora sono a casa mia a cercare di fare la stessa cosa e non funziona. Il mio compilatore di casa è gcc 3.3.5 su OpenBSD a 64 bit. O potrebbe essere un errore di battitura nel libro?
Questa funzione sarà utile. La caratteristica di non arrotondare. –