Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Для забавы =) |
Автор: FTK 12.12.2005, 14:44 | ||
Hello world Написал ф-цию факториала, получил забавный результат
Попробуйте ввести --1. Почему такое получается? |
Автор: pablo 12.12.2005, 14:47 |
получается что ? Добавлено @ 14:48 нормальное сообщение что число должно быть >= 0 |
Автор: FTK 12.12.2005, 14:58 |
Может у меня с++ какой-то тупой??? У меня в консоли появляется бесконечное количество сообщений, и не останавливается.... |
Автор: Aleksandor 12.12.2005, 15:09 |
А как же иначе если там бесконечный цикл?? |
Автор: Neitron 12.12.2005, 15:20 |
О боже=)))))))))))))) goto А ELSE уже не рулит и while |
Автор: sergejzr 12.12.2005, 15:23 |
Модератор: Название темы должно отражать ее суть! |
Автор: FTK 12.12.2005, 19:32 |
Aleksandor Нет, там выскакивает сообщение о том, что х д.б. >0 И все это не останавливается при вводе цифры, начинающейся с "--" |
Автор: sergejzr 12.12.2005, 19:48 | ||
Потому что у тебя прога определена только для целых чисел, а задаёшь туда знак. Так будет получаться всю жизнь, если чётко не определять входные и выходные параметры и не соблюдать определённые. |
Автор: Neitron 12.12.2005, 19:54 |
Мммм, невольно не хочу вмешиваться... но=)))) Отрицательные числа, они тоже целые. |
Автор: FTK 12.12.2005, 19:54 |
sergej.z\ А для отрицательных чисел работает... А для -- нет. Если поставить "--" число станет не целым? |
Автор: sergejzr 12.12.2005, 19:58 |
-1 это число. --1 это не число, а действие Добавлено @ 20:00 Парсер cin понимает только один знак перед цифрой, потому что он так определён. Иначе он должен был бы понимать извращения типа -(-1) и -(+(+1)) итд. Из за чего он бы тормозил на простых действиях. Поэтому если хотите извращений - перекладывайте оператор >> для них ![]() |
Автор: FTK 12.12.2005, 20:08 |
sergej.z круто! теперь вопрос снят |
Автор: sergejzr 12.12.2005, 20:25 |
А Для проги - читай строку и делай atoi() потом. |
Автор: FTK 12.12.2005, 20:38 |
sergej.z Извиняюсь, но не в курсе, про atoi()... |
Автор: sergejzr 12.12.2005, 20:51 | ||||
правда 0 будет и если строка числом не являлась. ещё лучше исgользовать
|
Автор: FTK 12.12.2005, 21:00 |
thanks for all |