Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Подсчитать количество банкнот


Автор: VertuOzz 11.12.2010, 19:19
Добрый день! Помогите, пожалуйста, советом. Нужно, чтобы программа подсчитывала количество и номиналы банкнот в соответствии с суммой, которую вводит клиент.
Тут проблем нет,

Код

include <iostream>
using namespace std;
void main()
{
        const int n1=500, n2=200, n3=100, n4=50, n5=20, n6=10, n7=5, n8=2;
        int Summa, b500, b200, b100, b50, b20, b10, b5, b2;
                cout<<"Enter your summ:\n";cin>>Summa;
                        b500=Summa/n1;
                        b200=Summa%1000/n2;
                        b100=???;
                        ....
                        ....//Дальше вывод результата
                        cout<<"You will have:\n"<<" banknotes by 500 hrn;\n"<<b200<<" banknotes by 200 hrn;\n"<<b100<< "...";

а как вычислить количество сотенных купюр? Заранее спасибо!

Автор: world 11.12.2010, 21:59
Сразу оговариваю, веду разговор про украинские гривни, во-первых я номинал российских рублей не знаю, во-вторых человек задающий вопрос тоже оперирует гривнами.

Как я понял, программа, при вводе суммы 888 грн. должна сказать, что нужна 1 купюра 500 грн., 1 - 200 грн., 1 -100 грн., 1 - 50 грн., 1- 20 грн., 1 - 10 грн., 1 - 5 грн., 1 -2 грн., 1 - 1 грн. (полученная сумма как раз равна 888 грн., выбраных минимальным числом банкнот). Вот код. Переделаете для своих нужд.


Код

int nominals[9] = {500, 200, 100, 50, 20, 10, 5, 2, 1};
for(int i = 0; i < 9; i++)
{
    _tprintf(_T("%i grn %i\n"), nominals[i], sum / nominals[i]);
    sum = sum % nominals[i];                                                      //sum - сумма, введённая клиентом, объявлена и проинициализированна выше
}

Автор: VertuOzz 11.12.2010, 22:02
Спасибо world!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)