Dobrý den potřeboval bych poradit....mám realizovat program, který převede hexadecimální číslo na decimální....a nemůžu přijít na to,proč mi to špatně počítá......
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
int main()
{
string a;
int b;
int i;
cout << "Zadejte hexadecimalni cislo:" << endl;
cin>>a;
b=0;
for (i=0; i<=a.length()-1; i++)
{
if (a[i]>='0' && a[i]<='9')
{
b = ((a[i]+48)*pow(16.0f, a[i]) + (a[i]- '0'));
}
else if(a[i] >= 'A' && a[i]<= 'F')
{
b = (a[i]+55)*pow(16.0f, a[i]) + (a[i] - 'A' + 10);
}
else if(a[i] >= 'a' && a[i]<= 'f')
{
b = (a[i]+87)*pow(16.0f, a[i]) + (a[i] - 'A' + 10);
}
else
{
cout<<"Nespravny vstup."<<endl;
return 0;
}
cout<<b<<endl;
}
return 0;
}