Try this:
Code:
#include <iostream.h>
#include <string.h>
#include <ctype.h>
int main() {
int number, base, i, j;
char b, input[50];
char num[]="0123456789abcdef";
do {
cout<<"\nBase? [d]ecimal, [b]inary, [o]ctal, [h]ex:";
cin>>b;
b=(char)tolower(b);
switch(b) {
case 'd': base=10; break;
case 'b': base=2; break;
case 'o': base=8; break;
case 'h': base=16; break;
default: base=0;
}
if(base==0) cout<<"\nplease input only d, b, o, or h.\n";
} while(base==0);
cout<<"\ninput ";
switch(base) {
case 2: cout<<"binary"; break;
case 8: cout<<"octal"; break;
case 10: cout<<"decimal"; break;
case 16: cout<<"hexadecimal"; break;
}
cout<<" number: ";
cin>>input;
number=0;
for(i=0; i<strlen(input); i++)
{
for(j=0; j<base; j++) {
if(num[j]==tolower(input[i])) {
number*=base;
number+=j;
break;
}
}
}
cout<<number;
return 0;
}