I have written a program that reads in data from a file about people like so :
first name, last name, age, is hispanic, if hispanic what type of hispanic, race, disability
I have a bool that works to determine if a person is hispanic or not and reports back 1 if they are and 0 if they are not. I juat can't figure out how I can count the # of 1's (trues) and report how many people on the list are hispanic.
This is my code so far:
Code:
#pragma once
#include <string>
#include <iostream>
#include <iomanip>
using namespace std;
class peopleClass
{
private:
string fname, lname, race, citizen, disability,hispanictype;
int age;
bool hispanic;
public:
peopleClass(){;}
string getFname()const{return fname;}
string getLname()const{return lname;}
string getRace()const{return race;}
string getCitizen()const{return citizen;}
string getDisability()const{return disability;}
string getHispanictype () const {return hispanictype;}
int getAge()const{return age;}
char getHispanic()const {return hispanic;}
void setFname(string newName){fname=newName;}
void setLname(string newName){lname=newName;}
void setRace(string newRace){race=newRace;}
void setCitizen(string newCitizen){citizen=newCitizen;}
void setDisability(string newDisability){disability=newDisability;}
void setHispanictype (string newHispanictype) {hispanictype=newHispanictype;}
void setAge(int newAge){age=newAge;}
void setHispanic(bool value){hispanic=value;}
//void setHispanic(char newHispanic){hispanic=newHispanic;}
bool isHispanic (const peopleClass&) const;
friend bool operator < (const peopleClass &left, const peopleClass &right);
friend bool operator <= (const peopleClass &left, const peopleClass &right);
friend bool operator > (const peopleClass &left, const peopleClass &right);
friend bool operator >= (const peopleClass &left, const peopleClass &right);
friend bool operator == (const peopleClass &left, const peopleClass &right);
friend bool operator != (const peopleClass &left, const peopleClass &right);
friend ostream & operator << (ostream &out, const peopleClass &right);
friend istream & operator >> (istream &in, peopleClass &right);
};
bool operator < (const peopleClass &left, const peopleClass &right)
{
return left.lname < right.lname;
}
bool operator <= (const peopleClass &left, const peopleClass &right)
{
return left.lname <= right.lname;
}
bool operator > (const peopleClass &left, const peopleClass &right)
{
return left.lname > right.lname;
}
bool operator >= (const peopleClass &left, const peopleClass &right)
{
return left.lname >= right.lname;
}
bool operator == (const peopleClass &left, const peopleClass &right)
{
return left.lname == right.lname;
}
bool operator != (const peopleClass &left, const peopleClass &right)
{
return left.lname != right.lname;
}
bool peopleClass::isHispanic (const peopleClass& getHis) const
{
// if peopleClass.getHispanic = 'H';
// return true;
return hispanic;
}
ostream & operator << (ostream &out, const peopleClass &right)
{
out << setw(15) << right.lname
<< setw(15) << right.fname
<< setw(8) << right.age
<< setw(8) << right.hispanic;
//if (peopleClass.isHispanic (hispanic))
out << setw(8) << right.hispanictype;
out << setw(8) << right.race
<<setw(8)<< right.citizen
<<setw(8)<< right.disability;
return out;
}
istream & operator >> (istream &in, peopleClass &right)
{
char tmp;
in >> right.fname >> right.lname >> right.age >> tmp;
if(tmp=='H')
{
in >>right.hispanictype ;
right.hispanic=true;
}
else
right.hispanic=false;
in>>right.race >> right.citizen >> right.disability;
return in;
}
void sort(peopleClass people[], int numPeople);
int main()
{
peopleClass Group[500];
ifstream fin("program2.txt");
ofstream fout("output2.txt");
int i, numPeople;
i=0;
while(i<500 && fin >> Group[i])
i++;
numPeople=i;
sort(Group, numPeople);
for(i=0;i<numPeople;i++)
fout << Group[i] << endl;
return 0;
}
void sort(peopleClass Group[], int numPeople)
{
int i,j,min;
for(i=0;i<numPeople-1;i++)
{
min=i;
for(j=i+1;j<numPeople;j++)
if(Group[j] < Group[min])
min=j;
swap(Group[i], Group[min]);
}
}
Does anyone have an idea of how I could count how many people are hisapnic?