Cita: ¿podrías darme una idea de cómo usar subprogramas en esto (funciones)?
en este programa lo que se podria hacer es crear funciones para cada
case, por ejemplo crear una funcion que se llame inventario(), y ahi muestre todos los printf del case 3. Tambien se podria optimizar un poco mas usando estructuras; pero esto ya pasa por las herramientas que cuenta cada uno.
Cita: Me pregunto si luego esto podría dejar de funcionar sólo en consola y pasar a tener gráficos y un entorno más bonito
Sí. Hay varias librerias q te permiten hacer lo q queres como opengl, Qt, etc... todas tienen su grado de dificultad; si qres crear juegos solo es cuestion de googlear y leer lo q encuentres
Saludos
PD: no te qdes solo con lo q te enseña tu profesor :)