Jak zrobić żeby zamiast wyniku 10.110 było 11.10?

0

Mam zadanie napisać program podsumowujący ilość monet. No i napisałem ten program i go teraz szlifuje. Jak napisałem ten program i wczytałem w programie np. 1 złoty i 1 grosz to wynik był 1.1 złotych (no ale powinno być 1.01). No i szybko to "naprawiłem" tak:

	{
		if (suma2 < 10)
			cout << "Wartosc wszystkich twoich monet: " << suma << " groszy "
			<< '(' << zlotowek << ',' << '0' << suma2 << " zlotego).\n";
		else
			cout << "Wartosc wszystkich twoich monet: " << suma << " groszy "
			<< '(' << zlotowek << ',' << suma2 << " zlotego).\n";
	}

Ale teraz został mi do poprawienia 1 aspekt, a mianowicie jeśli wprowadzę w programie np 200 groszy i 10 złotych to wynik będzie 10.200. A jak zrobić tak żeby 200 zamieniało się na 1 złoty żeby wynik był 12.00?

Kod daje na pastebinie, bo jest za długi

Próbowałem coś takiego, ale mi nie wyszło

int suma_groszy = suma2 / 10;
	{
		if (suma2 > 99)
			cout << "Wartosc wszystkich twoich monet: " << suma << " groszy "
			<< '(' << zlotowek + suma_groszy << ',' << '0' << suma2 % 10 << " zlotego).\n";
		
	}
3

Trzymaj całą sumę jako grosze i konwertuj na złotówki tylko przy wypisywaniu. Zainteresuj się też https://en.cppreference.com/w/cpp/io/manip i setprecision/setw/setfill albo, jeśli masz świeży kompilator, https://en.cppreference.com/w/cpp/utility/format/format

1 użytkowników online, w tym zalogowanych: 0, gości: 1