L'argomento "grafica in C e C++" è stato affrontato diverse volte, cerca GUI C++ e sicuramente trovi diverse discussioni.
In ogni caso, C e C++ non forniscono di default alcunché per realizzare GUI; ci sono diversi toolkit, di cui alcuni non portabili (ad esempio le API GUI di Windows o la terribile xlib), altri multipiattaforma (in C tipicamente le GTK+, in C++ si usano spesso Qt, wxWidgets, gtk-- e altri ancora) che vengono utilizzati per realizzare programmi grafici (con finestre, pulsanti, textbox, eccetera).
Le OpenGL sono un'altra questione, servono per realizzare grafica (2D o 3D) ad alte prestazioni, ad esempio per CAD, videogiochi, eccetera. Il target è piuttosto diverso, se con i toolkit citati prima hai i "blocchi" per costruire interfacce grafiche, qui hai funzioni per realizzare grafica ad alte prestazioni.

Per inciso, per la questione grafi, puoi appoggiarti a graphviz, che nasce esattamente per produrre rappresentazioni grafiche di grafi.