Выпуск № 1344 от 28.06.2009, 14:05
Администратор рассылки: Dr_Andrew, Модератор
В рассылке: подписчиков - 627, экспертов - 148
В номере: вопросов - 1, ответов - 1
Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке: оценить выпуск >>
Вопрос № 169752: Помогите решить задачку!!! Написать функцию вычисления значения по заданной строке символов, являющихся записью этого числа в десятичной системе счисления. Предусмотреть случай выхода за границы диапазона определяемого типом int. Используйте механ...
Вопрос № 169752:
Помогите решить задачку!!! Написать функцию вычисления значения по заданной строке символов, являющихся записью этого числа в десятичной системе счисления. Предусмотреть случай выхода за границы диапазона определяемого типом int. Используйте механизм исключений.
public: F
ormatException(const FormatException& rhs) :exception(rhs) {} };
int ParseInt(const char* str) { static const int BASE = 10; int value = 0; int sign = 1;
if (!*str) { throw FormatException("Passed string is not in a valid format."); }
for (const char* p = str; *p; ++p) { switch (*p) { case '+': case '-': // check that we are at the beginning of the
string if (p != str) { throw FormatException("Passed string is not in a valid format."); }
if (*p == '-') { sign = -1; }
break;
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': ca
se '8': case '9': // check range limits if (value > numeric_limits<int>::max() / BASE) { throw OutOfRangeException("Value range overflow."); }
// add digit value = value * BASE + (*p - '0'); break;
default: throw FormatException("Passed string is not in a valid format.");
break; } }
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.