У меня есть простая программа, в которой вы вводите значение в (болгарской) валюте, и оно показывает вам сумму, расщепляемую банкнотами наиболее экономичным способом. Например на сумму 91
, он должен напечатать 1*50 + 2*20 + 1
Невозможно удалить знак конца плюс в декомпозиции суммы
Ну, проблема в том, что, когда вы вводите небольшое количество, как 20, например, на выходе есть завершающая «+» в конце (например, 1*20 +
вместо 1*20
). Я хотел бы знать, как не выводить номер, если он один. Levove
- болгарская единица валюты.
#include <iostream>
using namespace std;
int main()
{
unsigned int Amount;
cout << "Enter the amount of levove: ";
cin >> Amount;
unsigned int Fifty = 50;
unsigned int Twenty = 20;
unsigned int Ten = 10;
unsigned int Five = 5;
unsigned int Two = 2;
unsigned int One = 1;
unsigned int Levove = Amount;
cout << Suma << " = ";
if (Levove/Fifty == 0)
{
}
else
if (Levove/Fifty == 1)
{
cout << Levove/Fifty << "*" << Fifty << "+";
}
else
{
cout << Levove/Fifty << "*" << Fifty << "+";
}
Levove %= Fifty;
if (Levove/Twenty == 0)
{
}
else if (Levove/Twenty == 1)
{
cout << Levove/Twenty << "*" << Twenty << "+";
}
else
{
cout << Levove/Twenty << "*" << Twenty << "+";
}
Levove %= Twenty;
if (Levove/Ten == 0)
{
}
else if (Levove/Ten == 1)
{
cout << Levove/Ten << "*" << Ten << "+";
}
else
{
cout << Levove/Ten << "*" << Ten << "+";
}
Levove %= Ten;
if (Levove/Five == 0)
{
}
else if (Levove/Five == 1)
{
cout << Levove/Five << "*" << Five << "+";
}
else
{
cout << Levove/Five << "*" << Five << "+";
}
Levove %= Five;
if (Levove/Two == 0)
{
}
else if (Levove/Two == 1)
{
cout << Levove/Two << "*" << Two << "+";
}
else
{
cout << Levove/Two << "*" << Two << "+";
}
Levove %= Two;
if (Levove/One == 0)
{
}
else if (Levove/One == 1)
{
cout << Levove/One << "*" << One;
}
else
{
cout << Levove/One << "*" << One;
}
Levove %= One;
return 0;
}
«есть плюс в одной из сторон ». Ну, вы написали '<<" + ";'. Чего ты ожидал? – MSalters