I just could not figure out what is wrong with this programmed. I have tried as much as I could to make it work. But, it does not seem to be working. So, I would greatly appreciate it if anybody could give me some help to make this programme work. Anyway here is the code for the programme:
Code:#include <iostream> #include <string> #include <vector> #include <fstream> using namespace std; class PollenAirQuality { public: PollenAirQuality() {PollenCount= AirIndex= 0; } void SetPollenCount(double Count) { PollenCount = Count; } double GetPollenCount() { return PollenCount; void SetAirIndex(double Index) { AirIndex = Index; } double GetAirIndex() {return AirIndex; } protected: double PollenCount; double AirIndex; }; class WeatherStation : public PollenAirQuality { public: WeatherStation(); void SetDesignation(string ID) { StationDesignation = ID; } void SetAgent(string Agent) { StationAgent = Agent; } void SetTemperature(double Degree) { Temperature = Degree; } double Convert(double DegreeF); string GetDesignation() { return StationDesignation; } string GetAgent() { return StationAgent; } double GetTemperature() { return Temperature; } protected: string StationDesignation; string StationAgent; double Temperature; }; WeatherStation::WeatherStation() { StationDesignation = ""; StationAgent = ""; Temperature = 0; } double WeatherStation::Convert(double degreeF) { double degreeC; // convert Fahrenheit to Celcius degreeC = ((degreeF - 32) * 5) / 9; return degreeC; } class VectorList { vector<WeatherStation> List; vector<WeatherStation>::iterator ILister; string FileName; public: VectorList() { FileName = "Temp"; } VectorList(string FName) { FileName = FName; } void AddStations(); void PostStationInfo(); void DailyReport(); void HighLowReport(); void PollenCount(); void AirQualityIndex(); double GetMaxF(); double GetMinF(); double GetAvgF(); void SetFileName(string FName) { FileName = FName; } void WriteToFile(); void ReadFromFile(); }; void VectorList::AddStations() { WeatherStation Station; string Designation, Agent; cout << "Enter Station Information Below, Stop To Quit\n"; for (;;) { cout << "\n-------------------------------\n"; cout << "Enter Weather Station Designation: "; getline (cin, Designation); if (Designation == "Stop") break; Station.SetDesignation( Designation ); cout << "\nEnter Contact Person: "; getline (cin, Agent); if (Agent == "Stop") break; Station.SetAgent( Agent ); cout << "\n-------------------------------\n"; List.push_back(Station); } } void VectorList::PostStationInfo() { double Degree, Count, Index; cout << "Enter reported temperatures: (in Fahrenheit) \n\n"; for (ILister = List.begin(); ILister < List.end(); ILister++) { cout << ILister->GetDesignation() << ":\n"; cout << ILister->GetAgent(); cout << "\nEnter Temperature:\t"; cin >> Degree; ILister->SetTemperature( Degree ); cout << "\n\tPollen Count:\t"; cin >> Count; ILister->SetPollenCount( Count ); cout << "\n\tAir Quality Index:\t"; cin >> Index; ILister->SetAirIndex( Index ); cin.ignore(100, '\n'); } } void VectorList::DailyReport() { cout << " NGS Daily Temperature Report \n"; cout << "===========================================================\n"; cout << "\t\t Fahrenheit(°F) \t Celsius (°C)"; for (ILister = List.begin(); ILister < List.end(); ILister++) { cout << "\n-----------------------------------------------------------\n"; cout << (*ILister).GetDesignation() << "\t\t "; cout << (*ILister).GetTemperature() << "\t\t\t" << (*ILister).Convert( (*ILister).GetTemperature() ); } cout << "\n-----------------------------------------------------------"; cout << "\nMean Temperature: \t " << GetAvgF() // The first problem is here << "\t\t\t" << (*ILister).Convert(GetAvgF() ); cout << "\n===========================================================\n\n"; } void VectorList::HighLowReport() { cout << " NGS High-Low Report "; cout << "\n=========================================================="; cout << "\n\t\t Fahrenheit(°F) \t Celsius (°C)"; cout << "\n----------------------------------------------------------"; cout << "\nLowest Temperature:\t " << GetMinF() //Second problem << "\t\t\t" << (*ILister).Convert( GetMinF() ); cout << "\n----------------------------------------------------------"; cout << "\nHighest Temperature:\t " << GetMaxF() //Third problem << "\t\t\t" << (*ILister).Convert( GetMaxF() ); cout << "\n----------------------------------------------------------"; cout << "\n==========================================================\n"; } void VectorList::PollenCount() { cout << " NGS Daily Pollen Report\n"; cout << "==================================\n"; for (ILister = List.begin(); ILister < List.end(); ILister++) { cout << ILister->GetDesignation() << ":\t\t" << ILister->GetPollenCount() << "\n"; } cout << "==================================\n\n"; } void VectorList:: AirQualityIndex() { cout << " NGS Air Quality Index Report\n"; cout << "==================================\n"; for (ILister = List.begin(); ILister < List.end(); ILister++) { cout << ILister->GetDesignation() << ":\t\t" << ILister->GetAirIndex() << "\n"; } cout << "==================================\n\n"; } double VectorList::GetMaxF() { double maxF; maxF = ILister->GetTemperature(); for (ILister = List.begin(); ILister < List.end(); ILister++) { // find the highest temperture in Fahrenheit if ( (*ILister).GetTemperature() > maxF) maxF = (*ILister).GetTemperature(); } return maxF; } double VectorList::GetMinF() { double minF; minF = ILister->GetTemperature(); for (ILister = List.begin(); ILister < List.end(); ILister++) { // find the lowest temperture in Fahrenheit if ( (*ILister).GetTemperature() > minF) minF = (*ILister).GetTemperature(); } return minF; } double VectorList::GetAvgF() { double Total = 0, Mean; for (ILister = List.begin(); ILister < List.end(); ILister++) Total += ILister->GetTemperature(); Mean = Total / List.size(); return Mean; } void VectorList::WriteToFile() { fstream OutFile(FileName.c_str(), ios::out); for ( ILister = List.begin(); ILister < List.end(); ILister++) { OutFile << ILister->GetDesignation() << endl; OutFile << ILister->GetAgent() << endl; OutFile << ILister->GetTemperature() << endl; OutFile << ILister->GetPollenCount() << endl; OutFile << ILister->GetAirIndex() << endl; } OutFile.close(); } void VectorList::ReadFromFile() { fstream InFile(FileName.c_str(), ios::in); string Designation, Agent; double Temperature, Count, Index; WeatherStation Temp; while(true) { getline(InFile, Designation); getline(InFile, Agent); InFile >> Temperature; InFile >> Count; InFile >> Index; InFile.ignore(100, '\n'); if(InFile.eof()) break; Temp.SetDesignation( Designation ); Temp.SetAgent( Agent ); Temp.SetTemperature( Temperature ); Temp.SetPollenCount( Count ); Temp.SetAirIndex( Index ); List.push_back(Temp); } InFile.close(); } void Menu(); int main() { int I = 0; VectorList Station; string Command; while(true) { Menu(); cout << "Enter Command: "; getline (cin, Command); cout << "\n\n"; if (Command == "Add Stations") { Station.AddStations(); I = 1; } if (Command == "Post Station Info" && I == 1) { Station.PostStationInfo(); I = 2; } if (Command == "Quit") break; else { if ( I == 1 ) cout << "\nPlease Post Station Info\n"; if (Command == "Daily Report" && I == 2) Station.DailyReport(); if (Command == "High-Low Report" && I == 2) Station.HighLowReport(); if (Command == "Daily Pollen Count" && I == 2) Station.PollenCount(); if (Command == "Daily Air Quality Index" && I == 2) Station.AirQualityIndex(); if (Command == "Change File Name") { string FName; cout << "Enter File Name: "; getline(cin, FName); Station.SetFileName(FName); cout << "File Name is Changed"; } if (Command == "Save To File") { Station.WriteToFile(); cout << "File is saved\n"; } if (Command == "Read From File") { Station.ReadFromFile(); I = 2; cout << "Opened Saved File\n"; } } } } void Menu() { cout << "\nChoices:"; cout << "\n---------------------------"; cout << "\n Add Stations"; cout << "\n Post Station Info"; cout << "\n Daily Report"; cout << "\n High-Low Report"; cout << "\n Daily Pollen Count"; cout << "\n Daily Air Quality Index"; cout << "\n Change File Name"; cout << "\n Save To File"; cout << "\n Read From File"; cout << "\n Quit"; cout << "\n---------------------------\n"; }
so, when I try to compile the programme, the compiler shows me a number of errors. And, among all the errors the first error it shows is in the line 27; the error says " invalid use of undefined type `class PollenAirQuality' ". And, I am not sure but I think that all other errors are the result of this error. Anyway, I hope that somebody will give me some suggesstions to fix the problem.



LinkBack URL
About LinkBacks



