well I guess im a c/c++ noob (although im majoring in programming, im only a freshman) but anyway, after taking a class on binary, octal, hex, conversions,a dn that sort of thing, I decided to use my limited knowledge to whip up a converter. Tell me what ya think and throw in any suggestion you might have.
Code:
//Decimal to Base 'n' Converter
//Converts any positive decimal number (up to 4,294,967,295) to base 'n'
//'n' being any base between 2 and 16
//Written by P4r4digm
#include <iostream>
using namespace std;
int main()
{
//declare variables
int convertFromCopy, digit, convertTo;
unsigned int convertFrom;
char playAgain = 'y';
string stringDigit, answer;
//allow game to loop without ending
while (playAgain != 'n')
{
//delete pervious answer if run consecuteively
answer = "";
//Get user input
cout << "Enter the number you wish to convert: ";
cin >> convertFrom;
cout << "Enter the base to convert the number to(max: 16): ";
cin >> convertTo;
//createcopy of original input to display later
convertFromCopy = convertFrom;
//continue dividing until original input is 0
while (convertFrom != 0)
{
//calculate digit through use of modulo
digit = convertFrom % convertTo;
//declare conversion variable (from int to char)
int asciiConversion = 48;
//for loop converts digit from int 0-15 to char '0'-'9', 'A'-'F'
for (int i = 0; i < 16; ++i)
{
if(digit == i)
stringDigit = asciiConversion;
asciiConversion += 1;
//skip from 9 to A on the ascii table and continue
if (asciiConversion == 58)
asciiConversion = 65;
}
//tack on converted digit to the beginning of the answer string
answer = stringDigit + answer;
//divide original input by conversion constant and loop
convertFrom /= convertTo;
}
//Show original input, base to be converted to, and converted number
//and ask to repeat
cout << convertFromCopy << " written in base " << convertTo << " is:\n" << answer << "\nAgain? (y/n)";
cin >> playAgain;
}
return 0;
}