I think this is a simple question

Posted by: Rapture

I think this is a simple question - 06/03/04 08:40 AM

Okay I'm writing a pretty cimple c++ prog for class.

basically it's just a contact book

first name, last name, phone #, and if they can or cannot drive.

for the candrive = drive I'm having the input either a y or n. What I am having problems with is this:

I have to have a part that will display all the people who can drive or can't. What I did was this...

Code:
 
shortname report(string keyname, shortname namelist[], int currsize)
{
int k;
shortname nullname;

for(k = 0 ; k < currsize ; k++)
if(keyname == namelist[k].getcandrive() 0
return namelist[k];
return nullname;
}
so what happens when someone enters in report? y or n. The result will only display the first match and nothing else. I'm unsure as to how to get it to display all the people w/ y or all the people w/ n in the "candrive" mutator.

any help would be appreciated. It's my first c++ class so I'm still new to a lot of this.

thanks
Posted by: pergesu

Re: I think this is a simple question - 06/03/04 01:02 PM

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.

Code:
if(namelist[k].candrive())
No comparisons to make, just simple boolean logic. Hope that helped out a bit.
Posted by: Rapture

Re: I think this is a simple question - 06/03/04 09:21 PM

Ill give that a shot tonight when I get home thanks