Неполучается прога перевода систем счисления
Добавлено: 26 фев 2010, 15:39
Неполучается написать перевод из 10й системы в 16ную. Допустим 13(10) в 16ной системе показывает как 3(?) а не как 13(16). И помогите добавить к числу букву ???
Заранее спасибо.
Заранее спасибо.
Код: Выделить всё
int TranslateNum (int userNum ,int notation)
{
int rest = 0 , tempAmount = 0 , count = 0 , amount = 0;
while (userNum != 0)
{
rest = userNum % notation ;
userNum = userNum / notation ;
tempAmount = tempAmount * 10 + rest ;
count ++ ;
}
while (count != 0)
{
amount = amount * 10 + tempAmount % 10;
tempAmount /= 10;
count -- ;
}
return amount ;
}
void main ()
{
SetConsoleOutputCP(1251);
cout << "УСЛОВИЕ: Написать функцию, которая получает в качестве "
<< " аргументов целое \nположительное число и систему счисления,"
<< "в которую это число должно переводится \n(системы счисления от 2 до 36)."
<< " Например, при переводе числа 27 в \nсистему счисления 16 должно"
<< " получиться 1B; 13 в 5-ю - 23; 35 в 18-ю - 1H.\n\n\t\t\tРЕШЕНИЕ" << endl ;
int c = 0 , userNum , notation ;
cout << "Введите число для перевода -> " ; cin >> userNum ;
cout << "Введите систему счисления в которую требуется перевести Ваше число -> " ; cin >> notation ;
c = TranslateNum (userNum , notation) ;
cout << "Результат перевода: " << c << endl ;
}