You don't declare structs or classes inside main(). You do it outside main(). Likewise, you don't declare that sad, lonely char outside main--you do it inside main().
Next time when you have errors, make sure you do this:
Code:weapon new_weapon; //ERROR***ERROR****ERROR