lo que se me ocurre es que puedes meter en un array (o arreglo, o vector) una lista con los botones. Asumo que cada boton es un objeto programado. Entonces crearías el submenu hecho de botones con un ciclo for, así te queda mas cómodo desplegarlos de arriba hacia abajo en una distancia igual entre ellos.
Luego cuando se compren otro tipos de comidas sería cuestion de agregarlas al final del array y maximizar un contador de elementos del arreglo. Es decir que si tenias 2 comidas, al comprar una nueva deberias maximizar el contador a 3 y asi en lo sucesivo para que se muestren las nuevas comidas.
Y para "cerrar" el menu, solo tendrias que destruir los botones que creaste.
Ahora para mostrar una cantidad aparte, deberias iniciar otro vector que concuerde en la posicion de cada boton y la cantidad de comida. Seria como una relacion uno a uno, algo asi:
vector1: vector2
manzana 4
banana 2
sandia 3
naranja 4
bueno algo asi se me ocurre
Luego cuando se compren otro tipos de comidas sería cuestion de agregarlas al final del array y maximizar un contador de elementos del arreglo. Es decir que si tenias 2 comidas, al comprar una nueva deberias maximizar el contador a 3 y asi en lo sucesivo para que se muestren las nuevas comidas.
Y para "cerrar" el menu, solo tendrias que destruir los botones que creaste.
Ahora para mostrar una cantidad aparte, deberias iniciar otro vector que concuerde en la posicion de cada boton y la cantidad de comida. Seria como una relacion uno a uno, algo asi:
vector1: vector2
manzana 4
banana 2
sandia 3
naranja 4
bueno algo asi se me ocurre