| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |