Si te fijas, ahí compila... pero de todas formas la lógica no está funcionando muy bien que digamos. No entiendo muy bien tu programa y no tengo mucho tiempo ahora, pero te doy un consejo. Identá bien las cosas y comentá un poco que hacen tus funciones ya que sino hay que ser un dios para entender lo que vos quisiste pensar! Saludos espero que te sirva, ahora fijate como arreglarlo