Some minor changes
menu () main ()

menu is used for printing menu thats it.
ifndef & types

adding some preprocessing.
Updated program_states.