Dwie sprawy.
Po 1. Kod wstawiamy w specjalny bloczek na forum:
std::cout << "Przykladowy kod" << std::endl;
Po 2. Twój kod jest bez sensu. Konwersja między systemami jest tak schematyczna, że dzielenie jej na różne funkcje jest bez sensu. Tutaj masz kod który napisałem i który będzie działać nawet dla konwersji między dziesiętnym a np. dwudziesto-siódemkowym (27). http://ideone.com/BqU6fz
#include <iostream>
char TRANSFORM_NUMBER(int number) {
if (number > 9)
return char((65+number)-10);
else
return char(48+number);
}
std::string transformTo(int number, const int &value) {
if (number < 0 || value < 1 || value > 36)
return "ERROR";
std::string num;
while (number) {
num.insert(num.begin(), TRANSFORM_NUMBER(number % value));
number /= value;
}
return num;
}
/*
Maksymalna wartosc drugiego argumentu
to 36 ze względu na to, że nie ma sensu
używać znaków po 'Z'.
Jeżeli chcesz tworzyć np. system stó-dwódziestkowy(?)
to odblokuj to w funkcji, aczkolwiek znaki będą dziwne xd
*/
int main() {
std::cout << transformTo(70, 2) << std::endl; //konwertuj 70 na dwójkowy
std::cout << transformTo(70, 4) << std::endl; //konwertuj 70 na czwórkowy
std::cout << transformTo(70, 8) << std::endl; //konwertuj 70 na ósemkowy
std::cout << transformTo(70, 10) << std::endl;//konwertuj 70 na dziesiętny
std::cout << transformTo(70, 16) << std::endl;//konwertuj 70 na szesnastkowy
std::cin.get();
return 0;
}