Например примерно так:
int s = 0;
for(char* p = str; p[0]; ++p)
if( p[0] >= '0' && p[0] <= '9' )
s += p[0]-'0';
cout << s;
-- Вт дек 22, 2009 12:18:01 --Тонкое место в этом коде - знание того, что цифры в кодовой таблице следуют от 0 до 9 подряд. Если нужно сделать идеально переносимую процедуру, которая не сломается, если это вдруг будет не так, то нужно поступать аккуратнее. Но не думаю, что это в данном случае реально требуется.