Проверка на наличие к системам исчесления и перевод
ЗАДАЧА В заданный текст входят только цифры и буквы. Определить, есть ли текст десятичной, шестнадцатеричному или двоичным записью целого или вещественного числа (указать при выводе какого). Я решил как определить принадлежность к системе, но как перевести любое в деситичную. И можно ли как-то покрасивей код сделать. какие-нибудь best practise'ы ))
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "rus");
bool is_binary = true, is_decimal = true, is_hexadecimal = true;
char str[255];
cout << "Введите строкy: " << endl;
cin.getline(str, 255);
cout << "Введённая строка = : " << str << endl;
for (int i = 0; i < strlen(str); i++)
{
if (str[i] == '.')
continue;
if (str[i] - '0' > 1)
{
is_binary = false;
if (str[i] - '0' > 9)
{
is_decimal = false;
if (str[i] - '@' > 6)
{
is_hexadecimal = false;
}
}
}
}
if (is_binary)
cout << "is binary" << endl;
else if (is_decimal)
cout << "is decimal" << endl;
else if (is_hexadecimal)
cout << "is hexadecimal" << endl;
else
cout << "Это и не двоичная, и не десятичная, и не шестнадцатиричная система!" << endl;
}