Kody ASCII znaków reprezentuje się czasami w postaci szesnastkowej. Taka reprezentacja jest dwucyfrową liczbą zapisaną w układzie szesnastkowym. . Twoim zadaniem jest napisanie programu, który pozwoli na automatyczne przeliczanie kodów szesnastkowych na kody ASCII.
Wejście
Na wejściu znajdują się dwa znaki określające poprawny kod szesnastkowy znaku z kodu ASCII. Pierwszy znak
jest cyfrą między 2 a 7, a drugi – cyfrą lub wielką literą między A a F.
Wyjście
W pierwszym wierszu Twój program powinien wypisać kod ASCII znaku, a w drugim – sam znak. Możesz założyć, że kod szesnastkowy na wejściu nie będzie odpowiadał żadnemu znakowi specjalnemu, czyli takiemu, którego nie da się ładnie wypisać.
Niestety coś jest nie tak w moim kodzie, ponieważ przy weryfikacji zadania na stronie main, dostaje info o błędzie, co muszę poprawić?
Mój kod:
#include<iostream>
#include<string>
#include<string.h>
using namespace std;
int main()
{
int suma;
string liczba;
cin >> liczba;
suma=(liczba[0]-48)*16;
if (liczba[1] >= '0' && liczba[1] <= '9')
suma += (int)(liczba[1]-48);
else
suma += (liczba[1]- 55);
cout << endl << suma << endl << (char)suma << endl;
system("pause");
}