Mam do wczytania z pliku elementy z których część to liczby a część litery.
Jeśli pojawiają się litery zamieniam je na odpowiednie liczby, które chcę później porównywać.
Wczytuję więc wszystko do tablicy char. Następnie sprawdzam czy jest literą i jeśli tak przypisuje mu odpowiednią wartość w analogicznej tablicy int. Jeśli nie chcę przepisać wartość do tablicy int i to już nie działa.
nie działa żaden z poniższych przykładów:
tab1z[i] = (int)tab1z2[i];
int tab1z[i] = static_cast<int>(tab1z2[i]);
int tab1z[i] = atoi(tab1z2[i]);
ten pierwszy po prostu nie działa dwa kolejne chciałby const char. Jeśli zmienię typ tablicy na const char, to kompilator pisze "ambigous overload for 'operator>>'(operand types are std::fstream<char>}and 'const char')".
Tablica char przechodzi przez prostą petle:
for(int i=0;i<5;i++)
{
if(tab1z2[i]=='W'||tab1z2[i]=='w')
tab1z[i]=11;
else
{
if(tab1z2[i]=='Q'||tab1z2[i]=='w')
tab1z[i]=12;
else
{
if(tab1z2[i]=='K'||tab1z2[i]=='k')
tab1z[i]=13;
else
{
if(tab1z2[i]=='A'||tab1z2[i]=='a')
tab1z[i]=14;
else
tab1z[i]=tab1z2[i];
}
}
}
}
W załączniku jest zrzut z konsoli z efektami pracy tej pętli for .