Автор: exp (25.09.2009 в 20:20)
Подскажите чего я недопонимаю. попробовал что-то похожее сделать чтобы было поменьшн ошибочных ситуаций при вводе недопустимых значений
, и сталкнулся с такой проблемой.
--------------------------------------------
переприкрепил код
--------------------------------------------
здесь в функции getlnum() , которая должна читать double с консоли,
решил что примерно так нужно сделать
if (x =='.') num = (num * 10) + ch - '0';
else num += (double)(ch-'0')/ (y *= 10);
, до запятой считывается как обычное число, а после запятой
прибавляется каждый раз по результату деления на 10,100,1000, ....
пришлось привести к типу double?, чтобы хоть-как-то работало.
, Но, все еденицы после запятой как-будто игнорируются,
ничего не могу понять почему даже похоже что умножения на 10 , не происходит
.