All pastes #185695 Raw Edit

Stuff

public cpp v1 · immutable
#185695 ·published 2006-09-29 06:36 UTC
rendered paste body
#include <iostream>#include <iomanip>#include <fstream>#include <string>//standards, instead of "using namespace std;"using std::cerr;using std::cout;using std::cin;using std::endl;using std::string;using std::setw;using std::ifstream;using std::ws;const int LessThan5 = 0;const int Age18to24 = 2;const int Age25to34 = 3;const int Age65to74 = 7;const int Age75to84 = 8;const int GtrThan85 = 9;class Population{  private:	//data members	string state;	int    age[10];  public:	//constructor method	Population();	//accesor methods	string get_state(void);	void set_state(string);	int get_age(int);	void set_age(int, int);	//other methods	int total_pop();};//Constructor Population::Population(){    state = "";    for (int i = 0; i < 10; i++)	age[i] = 0;}//statestring Population::get_state(void){     return state;}void Population::set_state(string x){     state = x;}//agesint Population::get_age(int i){    return age[i];}void Population::set_age(int i, int a){     age[i] = a;}//total population functionint Population::total_pop(){    int total = 0;    for (int i = 0; i < 10; i++)	total += age[i];    return total;}//Functionsint load_data(string , Population []);int least_under_5(Population [], int);//int most_under_5(Population [], int);//int least_18_to_34(Population [], int);//int most_18_to_34(Population [], int);//int least_over_64(Population [], int);//int most_over_64(Population [], int);//MAIN PROGRAMint main(){    Population p[70];    string filename;    cout << "File to open? ";    cin >> filename;    cout << load_data(filename, p) << " records read from " 	 << filename << endl;/******NOT TO BE INCLUDED IN FINAL PROGRAM******	//get state and print	for (int i=0;i<51;i++)	{		cout << p[i].get_state() << endl;		//get ages and print		for (int j=0;j<10;j++)		{			cout << setw(6) << p[i].get_age(j);		}		cout << endl;	}******NOT TO BE INCLUDED IN FINAL PROGRAM******/	//test	cout << "Alabama total: " << p[0].total_pop() << endl;	cout << "least is: " << least_under_5(p, 51);    return 0;}//data_load function...[LessThan5]int load_data(string f, Population p[]){    string s;    int ages, 	i = 0;    ifstream file;    file.open(f.c_str());    if (!file)    {	cerr << "Error, file not opening..." << endl;	return 0;    }    else    {        //set state name        getline(file, s);        p[i].set_state(s);	          //set numbers        for (int j = 0; j < 10; j++)        {            file >> ages >> ws;            p[i].set_age(j, ages);        }        while (!file.eof())        {	  	      	      //increase count	      i++;	      //set state name	      getline(file, s);	      p[i].set_state(s);	  	      //set numbers	      for (int j = 0; j < 10; j++)	      {	          file >> ages >> ws;	          p[i].set_age(j, ages);	      }	          }//closing while        file.close();//closing file    }//closing else        //element 0 needs to be counted for,     //so we add one onto i for the total    //number of elements used in the array.    return i + 1;}int least_under_5(Population p[], int size){    int least = 0;    for (int i = 1; i < size; i++)        if (p[i].get_age(LessThan5) / p[i].total_pop() < p[least].get_age(LessThan5) / p[least].total_pop())            least = i;    return least;}