Ncurses isn't really graphical. Instead it provides a framework which lets you work
with text based windows in a shell. In other words: Will work with any decent
linux box *without* X server installed.
Xlib is graphical, and if you chose it you have the advantage that you don't need
GTK or QT or any other library installed, *but* doesn't provide you with windows,
widgets and the like (it's more like DirectDraw, you can open a screen, draw lines,
points or arcs on it and move/copy rectangular areas, but that's it). It will take
you months or even years, if you go to develop a gui with Xlib only.
IMHO if you just want to provide a user with a means to graphically enter a set of
values, GTK is the fastest way to go.
If you can do without graphics and stick to text only, take ncurses (not very hard
to understand, either)