Ввод целого числа
В преобразовании используется тот факт, что при добавлении к числу очередной цифры справа старое значение увеличивается в 10 раз и к нему добавляется значение новой цифры, например:
Число: '123' '1234'
Значение: 123 1234 = 123 * 10 + 4
n = n * 10 + c[i] - '0';
где s[i]-'0' -двоичное значение цифры, представленной символом c[i].
//------------------------------------------------------bk34-05.cpp
//------Преобразование внешней формы во внутреннюю в 10СС
int StringToInt(char c[])
{
int n,i;
for (i=0; !(c[i]>='0' && c[i]<='9'); i++)
if (c[i]=='\0') return(0); // Поиск первой цифры
for (n=0; c[i]>='0' && c[i]<='9'; i++)
// Накопление целого
n = n * 10 + c[i] - '0'; // "цифра за цифрой"
return n;
}