I can't really tell what your code is doing there, to be honest. And it's kind of difficult for me to figure out what exactly you're asking. But, as has been pointed out before, I could very well be an idiot.

I think that you can make things easier on yourself by changing the way you handle this candrive flag. It has two possible values - y or n. You want it to be yes or no, on or off, or simply...true or false. That's clearly the time to use a boolean value.

So make your candrive flag boolean. No sense in having to deal with a character there. Then your accessor methods are simple, but more importantly, any tests are simpler.

No comparisons to make, just simple boolean logic. Hope that helped out a bit.