Программа перестает работать — graphics.h

Я создал программу, которая рисует прямоугольник, но как только он запускается, появляется окно с сообщением: «К сожалению, программа остановилась». Почему это происходит? Что я могу сделать, чтобы это исправить?

#include <iostream>
#include <graphics.h>

int main() {
initwindow(500, 300);
getch();
rectangle(200, 100, 200, 100);
closegraph();
}

0

Решение

Это потому, что вы работаете старый 16 бит MS-DOS приложение скорее всего на Win7 или новее Операционные системы что не очень хорошая идея (и на x64 бит больше не будет работать). Даже если вы используете 32-битный компилятор Borland BGI 16 бит. Другая возможность проблемы неправильная GFX BGI-водитель который я не вижу нигде инициализации (я скучаю по использованию initgraph но новее реально использовал BGI так что я могу ошибаться). Так что делать:

  1. проверьте ваш код с некоторым рабочим примером, здесь их много ТАК
  2. проверять BGI местоположение водителя (старый MS-DOS опоры paths+filename только до 66 персонажи !!!)
  3. попробуйте запустить приложение в режиме совместимости (MS-DOS или же W9x или же XP)
  4. заменить старый 16-битный Borland BGI с WinBGI эмулятор
  5. запустить ваше приложение в DOSBox или любой MS-DOS эмулятор
1

Другие решения

Вы не запустили графический движок с помощью InitGraph ()

http://www.programmingsimplified.com/c-graphics-programming-tutorial

Точно так же, как OpenGL, Direct3D, SDL и т. Д. Имеют функцию инициализации, BGI имеет InitGraph (), который вы должны использовать, чтобы даже нарисовать простую точку!

3