Hola:
Como han dicho mis compañeros en repuestas yahoo, la cantidad de funciones no afectan el programa, aunque sería lo ideal que cada funcion cumpliera con un rol determinado dentro del programa para que sea mas claro y mas facil de seguir cuando aparezcan bugs (fallas o comportamientos no deseados)
En general,en un juego las funciones conviene declarararlas en forma estatica despues de los include, con nombres relacionados a lo que hacen, y evitando en lo posible el pasaje de terminos.
Conviene usar variables del tipo públicas, (no declararlas en el main ni en las funciones) para no tener problemas de asignación de memoria mientras el juego corre.
El procedimiento modular suele estar ordenado así:
declaracion de includes
declaracion estatica de funciones
declaracion de variables publicas
main
menu
procedimientos 1-n
presentaciones en pantalla 1-n
registros de ganadores(con o sin archivo de disco)
salida del juego.
Si vas a usar la consola, o pantalla gráfica no de windows, te conviene usar un compilador que permita el manejo de funciones de consola, como el TurboC++ de Borland versiones 3 e inferiores o el Dev C++ con los paquetes instalables de conio2.h o graphics.h.
Si vas a usar ventanas de windows, te conviene usar compiladores con herramientas visuales, como el visual c++ ó el DevC++ con widgets.
Creo que es todo lo que puedo aconsejarte sobre el tema, podes visitar la pagina
http://aemarchivos.es.tl/C%2B%2B-Editores-y-Compiladores.htm
donde podes ver y descargar si necesitas alguno de estos compiladores
Saludos
Antonio