Chciałem napisać to samo, ale nie zdążyłem. Więc tylko potwierdzę, metoda copy-paste jest bardzo zła.
PS
Pomoc na forum, powinna polegać, na podaniu wędki a nie rybki, i chociaż jest to trudniejsze i bardziej pracochłonne [dla podpowiadającego] to jednak się postaram
- Testy na forum są często podawane pod konkretny błąd w kodzie pytającego, więc: ".. szukałem nawet rozwiązań/testów na starym forum.." nie jest "usprawiedliwieniem.
- W takiego typu zadaniu i rozwiązaniu - program wczytuje po jednej porcji danych i od razu po kolei odpowiada, najlepiej uruchomić swój programik w konsoli i testować z "ręki". Wpisujesz dużą liczbę testów, np 100 i po kolei lecisz 0 [enter] 1 [enter] itd. Po błędnej odpowiedzi programu przerywasz go - wciskając [ctr c],, a w twoim wypadku błąd jest dużo wcześniej, gdy "polecisz" po kolei, przed liczbą 99, czy 161050
- Gdy masz silną pokusę użyć copy/paste - to zastanów się, czy nie można użyć, jednej funkcji z dodatkowym parametrem: jedena_funckcja(liczba, podstawa) - oczywiście nazwij ją np sys_poz, lub konwertuj itp... i oczywiście możesz przestawić parametry w innej kolejności.
- Gdy jedna ulegniesz pokusie, sprawdzaj dokładniej kopię.
- Zamiast dziwnych konwersji +48, czy +55, lepiej wstawiać +'0' czy 'A' - 10 itd
- AD 5 jeszcze lepiej użyć string konw = "0123456789ABCDEF...." a potem wstawiać wprost push_back(konw[....])
- vector 'char' to przecież [prawie?] string, więc też można string.push_back czy też string=string+char a może nawet string = char+string?
- Funkcja powinna "robić" całość, więc ewentualnie odwracanie a także działać dla liczby równej 0
- ad 8 jak? do { ......liczba /= baza} while(liczba >0) - w ten sposób nawet dla zera raz się wykona, czyż nie?,
- Wtedy w main wystarczy
cin >> liczba;
cout << konwer(liczba, 16) << ' ' << konwert(liczba, 11) ....... PS 2
W pytaniu warto umieszczać też link do swojej listy zgłoszeń do zadania.
- A na ideone wklejać swoje testy w okienko stdin.