Mam prostą walutę klasy z przeciążonym operatorem < <. Nie wiem, jak mogę oddzielić tę liczbę spacjami co 3 cyfry, więc wygląda to tak: "1 234 567 ISK".Jak wydrukować liczbę z odstępem jako separatorem tysięcy?
#include <cstdlib>
#include <iostream>
using namespace std;
class Currency
{
int val;
char curr[4];
public:
Currency(int _val, const char * _curr)
{
val = _val;
strcpy(curr, _curr);
}
friend ostream & operator<< (ostream & out, const Currency & c);
};
ostream & operator<< (ostream & out, const Currency & c)
{
out << c.val<< " " << c.curr;
return out;
}
int main(int argc, char *argv[])
{
Currency c(2354123, "ISK");
cout << c;
}
Co mnie interesuje, jest jakoś najłatwiejszym rozwiązaniem w tej konkretnej sytuacji.
@danben: Jak tagowanie go jako [praca domowa] zmienia nic o pytanie czy jak dobre odpowiedzi powinny być oceniane? –
@Roger Pate: Oznaczanie pytania jako zadania domowe pozwala wspólnocie SO wiedzieć, że powinni oni udzielać wskazówek i pomagać plakatowi w samodzielnym rozwiązaniu problemu, zamiast pisać rozwiązanie dla niego. Zobacz http://meta.stackexchange.com/questions/10811/how-to-ask-and-answer-homework-questions. – danben
@danben: Zobacz http://meta.stackexchange.com/questions/10811/how-to-ask-and-answer-homework-questions/10825#10825 i http://meta.stackexchange.com/questions/10811/how-to-ask-and-answer-homework-questions/10839 # 10839 –