Zdravím,
potřebuji převést zadané znaky do 36-tkové soustavy. Napsal jsem si následující funkci:
int prevedZnaky(int c)
{
if (c >= 'A' && c <= 'Z')
{ // od zadané hodnoty 'c' odečte 'A' (A = 10) a přičte 10 (pismena začínají v soustavě od 10)
return c - 'A' + 10;
}
else if (c >= '0' && c <= '9')
{ // od zadané hodnoty 'c' odečte '0', číslice začínají v soustavě od 0
return c - '0';
}
else
{ // v ostatních případech vypíše chybu
fprintf(stderr, "Chyba - zadany nepovolene znaky.");
return EXIT_FAILURE;
}
}
Povolené vstupní znaky jsou jen 0-9 a A-Z, pokud se tedy zadá 'a' atd. měl by program skončit s chybou. On skončí ale na konci chybové hlášky mi ještě vypíše číslo '1' nevíte, kde se ta jednička bere? Díky za každou odpověď