Это мой первый пост на SO, мой первый месяц программирования, и я изучаю сам, поэтому, пожалуйста, будь милым :) Вот так!right-align getline() input in C++
В двух словах, я ищу, чтобы иметь выровненный по правому краю ввод суммы валюты. Я использую getline(), между прочим, чтобы я мог проверить ввод. Может ли кто-нибудь помочь? Благодаря!!
Обоснование, детали:
Иногда это:
$ 12345.67 $ 45.30 $ 1.01
легче читать, чем:
$ 12345.67 $ 45.30 $ 1.01
Я думаю, что я понял, как это сделать, когда выводя:
cout << setfill(' ') << setw(40) << right << "Dr., SUBTOTAL:";
cout << " $";
cout << setw(10) << right << sum << endl;
Которая выглядит так:
Dr., SUBTOTAL $ 12.34или
Dr., SUBTOTAL $ 1234.56Отлично! (Я думаю.)
Но когда пользователь запрашивает ввод сумму в долларах, я не могу понять, как заставить ее вести себя как калькулятор, то есть выравнивать по правому краю любые цифры введенный таким образом. «Анимация остановки движения» для ввода 123.45 будет выглядеть так:
Dr. Cash.......$ 1 Dr. Cash.......$ 12 Dr. Cash.......$ 12. Dr. Cash.......$ 12.3 Dr. Cash.......$ 12.34Надеюсь, что это имело смысл.
UPDATE: Запуск Windows, Code :: Blocks 13,12, GNU GCC, 11
C++
Вы не можете изменить ввод интерактивно в чистом стандартном C++; вам понадобится внешняя, специфичная для операционной системы библиотека. В Linux рассмотрим [GNU readline] (http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html) или [ncurses] (http://www.gnu.org/software/ncurses/) –
Оба GNU 'readline' и' ncurses' были перенесены в Windows. –
Спасибо, Базиль! –