Предложение else
выполняется только тогда, когда ваше условие while
становится ложным. Если вы break
вышли из цикла или если возникло исключение, оно не будет выполнено.
Один из способов думать об этом - это как конструкция if / else относительно условия:
if condition:
handle_true()
else:
handle_false()
аналогична конструкции цикла:
while condition:
handle_true()
else:
# condition is false now, handle and go on with the rest of the program
handle_false()
Пример может быть в строках:
while value < threshold:
if not process_acceptable_value(value):
# something went wrong, exit the loop; don't pass go, don't collect 200
break
value = update(value)
else:
# value >= threshold; pass go, collect 200
handle_threshold_reached()
<graphics.h>
- очень старая библиотека. Лучше использовать что-то новое
. Вот некоторые 2D-библиотеки (независимые от платформы) для C / C ++
Также имеется бесплатная очень мощная 3D-библиотека с открытым исходным кодом для C ++
Существует современный порт для этого графического интерфейса Turbo C, он называется WinBGIM , который имитирует графику BGI под MinGW / GCC.
Я не пробовал, но выглядит многообещающе. Например, initgraph создает окно, и с этой точки вы можете рисовать в это окно с помощью старых добрых функций, в конце closegraph удаляет окно.
Когда я впервые перешел из DOS-программирования в Windows, у меня не было интернета, и я попросил что-то вроде этого. Но в конце я должен был узнать, как создавать окна и как обрабатывать события и использовать контексты устройств из автономной справки Windows SDK.
<graphics.h>
не является стандартным заголовком. Чаще всего это относится к заголовку для BGI API Borland для DOS и в лучшем случае устаревает.
Однако это очень просто; существует реализация Win32 интерфейса BGI под названием WinBGIm . Он реализован с использованием вызовов Win32 GDI - графического интерфейса Windows самого низкого уровня. Поскольку это предусмотрено в качестве исходного кода, возможно, это простой способ понять, как работает GDI.
WinBGIm, однако, ни в коем случае не является кросс-платформенным. Если все, что вам нужно, это простые графические примитивы, большинство библиотек GUI более высокого уровня, таких как wxWidgets и Qt, тоже это поддерживает. Существуют более простые библиотеки, предлагаемые в возможных дублирующих ответах, упомянутых в комментариях.
[graphics.h] появляется в том, что когда-то было связано с Borland и / или Turbo C ++, в 90-х.
http://www.daniweb.com/software-development/cpp / threads / 17709/88149 # post88149
Маловероятно, что вы найдете какую-либо поддержку для этого файла с современным компилятором. Для других графических библиотек проверьте список «связанных» вопросов (вопросы, связанные с этим). Например, «Простая, 2d кросс-платформенная графическая библиотека для c или c ++?» .
Cheers & amp; HTH.,