| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Возврат из функции "printf" и "break" |
| Автор: Killer_13 1.5.2009, 17:51 | ||
| В функции проверяется на деление на нуль, тоисть если определенное значение равно нулю, соответственно на "0" делить нельзя, нужно чтоб ф-ция возвращала сообщение о ошибке и завершала программу. Вот код моей ф-ции. Она возвращает 1 значение типа "double" а как записать, чтоб возвращала или значение типа "double" или сообщение о ошибке и завершала программу Спасибо.
|
| Автор: bsa 1.5.2009, 18:12 |
| Killer_13, для завершения из любого места программы воспользуйся функцией exit() (stdlib.h) |
| Автор: TrЭin3e 1.5.2009, 18:17 |
| а зачем это вообще? не проще ли сделать, чтобы прога сначала выводила сообщение об ошибке, а потом возвращала необходимое значение? |
| Автор: bsa 1.5.2009, 18:20 |
| TrЭin3e, сколько будет 348 делить на 0? |
| Автор: Killer_13 1.5.2009, 18:24 | ||
| bsa У меня задумка просто такая, нужно сделать с помощью ф-ции. Ошибку выдает.
TrЭin3e - если знаете - подскажите, - нужно сделать то, что я спрашиваю, с помощью этой ф-ции. Это возможно? |
| Автор: bsa 1.5.2009, 18:26 |
| Killer_13, а ты не догадался посмотреть документацию на функцию, что я тебе сказал? Более того, думаю, что компилятор тоже тебе дал вполне разумное описание твоей проблемы. Добавлено через 2 минуты и 34 секунды Killer_13, после return, кстати, код не выполняется. поэтому, на твоем бы месте, я убрал return перед printf, так как результат этой функции для тебя значения не имеет. |
| Автор: Killer_13 1.5.2009, 18:36 | ||||||
| почитал. Описал прототип
мой код
сама ф-ция
Опять ошыбка, и пишет с типами данных, потому, что там пустое значение, а там доубле? |
| Автор: math64 1.5.2009, 18:43 | ||||
если прогоммируешь C, используй longjmp:
Если C++, try/catch
|
| Автор: bsa 1.5.2009, 18:47 |
| Killer_13, не знаю, что ты читал: http://www.cl.cam.ac.uk/cgi-bin/manpage?3+exit |
| Автор: Killer_13 1.5.2009, 18:48 |
| math64 Пасибо за код, но в том то и разница, на С я пока не программирую, я только учусь. Мне че т попроще нужно., например, то что я спрашивал, а то опять препод нагрузит. Нужно самому делать. Я хотел сделать так, чтоб не переделывать целую программу из-за этой проверки деления на нуль. Вот так. :( Если вариантов нет, придется переделывать, и делать другим способом. Добавлено через 4 минуты :(:(:( Эххх, еще бы инглиш понимал. :( |
| Автор: math64 1.5.2009, 19:00 | ||
Если нужно просто напечатать сообщение и выйти
|
| Автор: Killer_13 1.5.2009, 19:11 |
| math64 спасибо - эт именно то, на что я и надеялся получить подсказку или ответ. bsa спасибо за правильные поучения. Вопрос решен. |