S
sd2004
Please help /explain my question embeded in the source code below.
Thanks in advance for your time,
////////////////////// source code ///////////////////////////////
#include<iostream>
#include <string>
#include<vector>
#include<sstream>
#include<fstream>
#include<numeric>
using namespace std;
class dog_info_class
{
public:
string name;
int id;
int YearBorn;
string type;
int dog_age(const int year);
int number;
};
#define goldenretriever 11
#define Lab 33
#define Boxer 44
#define Terrier 55
int const CurrentYear =2006;
int main()
{
vector<dog_info_class> v;
dog_info_class dog;
ifstream in ("test5g.txt");
string line;
while (!getline(in,line).eof()){
if (line.find("#")!=std::string::npos)continue;
istringstream is(line);
if(is>>dog.name>>dog.id>>dog.YearBorn>>dog.type)
{
v.push_back(dog); // line 40
}
}
vector<dog_info_class>::iterator iter;
for (iter=v.begin();iter!=v.end();++iter){
int variable = 2;
int results;
int test;
switch (iter->id){
case goldenretriever:
////////////////////// QUESTION //////////////////////////
// how can I "store" value of variable "test" into member
"number" of class "dog",
// so that I can use iter->number to print out the data or other
purposes.
// What I have in mind is to use push_back as I did in line 40
"v.push_back(dog)"
// Is that possible ?
test=dog.dog_age(iter->YearBorn)*variable;
cout << "number IS " << test <<endl;
cout << "number IS " << iter->number <<endl; // Not working
break;
case Lab:
test=dog.dog_age(iter->YearBorn)*variable;
results=dog.dog_age(iter->YearBorn);
break;
default:
break;
}
}
vector<dog_info_class>::iterator Iter;
for (Iter=v.begin();Iter!=v.end();++Iter){
// do something
}
return 0;
}
int dog_info_class::dog_age (const int YearBorn){
int age = (CurrentYear - YearBorn)*1;
return age;
}
///////////////////// input file "test5g.txt'''
/////////////////////////
########################################
#Name ID YearBorn Type
########################################
Cricket 11 2000 GoldenRetriever
Nitro 11 2005 GoldenRetriever
Maxtor 33 2004 Lab
Arron 44 2001 Boxer
#Arron 54 2002 Boxer
Dora 55 2000 Terrier
//////////////////////// OUTPUT ///////////////////////////
bash-2.05b$ ./a
number IS 12
number IS 1628391360
number IS 2
number IS 1628391360
bash-2.05b$
Thanks in advance for your time,
////////////////////// source code ///////////////////////////////
#include<iostream>
#include <string>
#include<vector>
#include<sstream>
#include<fstream>
#include<numeric>
using namespace std;
class dog_info_class
{
public:
string name;
int id;
int YearBorn;
string type;
int dog_age(const int year);
int number;
};
#define goldenretriever 11
#define Lab 33
#define Boxer 44
#define Terrier 55
int const CurrentYear =2006;
int main()
{
vector<dog_info_class> v;
dog_info_class dog;
ifstream in ("test5g.txt");
string line;
while (!getline(in,line).eof()){
if (line.find("#")!=std::string::npos)continue;
istringstream is(line);
if(is>>dog.name>>dog.id>>dog.YearBorn>>dog.type)
{
v.push_back(dog); // line 40
}
}
vector<dog_info_class>::iterator iter;
for (iter=v.begin();iter!=v.end();++iter){
int variable = 2;
int results;
int test;
switch (iter->id){
case goldenretriever:
////////////////////// QUESTION //////////////////////////
// how can I "store" value of variable "test" into member
"number" of class "dog",
// so that I can use iter->number to print out the data or other
purposes.
// What I have in mind is to use push_back as I did in line 40
"v.push_back(dog)"
// Is that possible ?
test=dog.dog_age(iter->YearBorn)*variable;
cout << "number IS " << test <<endl;
cout << "number IS " << iter->number <<endl; // Not working
break;
case Lab:
test=dog.dog_age(iter->YearBorn)*variable;
results=dog.dog_age(iter->YearBorn);
break;
default:
break;
}
}
vector<dog_info_class>::iterator Iter;
for (Iter=v.begin();Iter!=v.end();++Iter){
// do something
}
return 0;
}
int dog_info_class::dog_age (const int YearBorn){
int age = (CurrentYear - YearBorn)*1;
return age;
}
///////////////////// input file "test5g.txt'''
/////////////////////////
########################################
#Name ID YearBorn Type
########################################
Cricket 11 2000 GoldenRetriever
Nitro 11 2005 GoldenRetriever
Maxtor 33 2004 Lab
Arron 44 2001 Boxer
#Arron 54 2002 Boxer
Dora 55 2000 Terrier
//////////////////////// OUTPUT ///////////////////////////
bash-2.05b$ ./a
number IS 12
number IS 1628391360
number IS 2
number IS 1628391360
bash-2.05b$