If you don't want to use macros:
Code:
#include <iostream>
using namespace std;
enum GenderCodes
{
STOP /* = 0 */,
FEMALE /* = 1 */,
MALE /* = 2 */
};
const int ADULT = 21;
int main()
{
cout << "Gender Codes: 1 = Female, 2 = Male, 0 = Stop" << endl << endl;
int input, nMales = 0, nFemales = 0, nAdultMales = 0, nAdultFemales = 0, nMinorAgeSum = 0;
do
{
cout << "Please enter the Gender Code (0 to stop): ";
cin >> input;
if( input != STOP && input != MALE && input != FEMALE )
{
cout << "Invalid Gender Code. 1 = Female, 2 = Male, 0 = Stop." << endl << endl;
continue;
}
if( input != STOP )
{
int age;
cout << "Please enter the age of this person: ";
cin >> age;
if( age < ADULT )
{
nMinorAgeSum += age;
}
switch( input )
{
case MALE:
nMales++;
if( age >= ADULT )
{
nAdultMales++;
}
break;
case FEMALE:
nFemales++;
if( age >= ADULT )
{
nAdultFemales++;
}
break;
}
}
} while( input != STOP );
cout << "# Males: " << nMales << endl;
cout << "# Females: " << nFemales << endl << endl;
cout << "# Adult Males: " << nAdultMales << endl;
cout << "# Adult Females: " << nAdultFemales << endl;
cout << "# Adults Total: " << (nAdultMales + nAdultFemales) << endl << endl; // #Adults = #Adult Males + #Adult Females
cout << "# Minors: " << (nMales + nFemales) - (nAdultMales + nAdultFemales) << endl; // #Minors = #Total - #Adults
cout << "Avg. Minor Age: " << ( nMinorAgeSum / ((nMales + nFemales) - (nAdultMales + nAdultFemales)) ) << endl << endl; // Avg. Minor Age = Sum / #Minors
cout << "Total: " << (nMales + nFemales) << endl; // Total = #Males + #Females
system("PAUSE"); // For Dev-C++
return 0;
}