00001 #ifndef _IrrigationEfficiency_H_
00002 #define _IrrigationEfficiency_H_
00003
00004 #include <stdio.h>
00005 #include <stdlib.h>
00006
00007 #include <iostream>
00008 #include <fstream>
00009 using namespace std;
00010
00011
00012
00013 #define _irrigationMethodCode_ "IRR"
00014 #define _length_irrigationMethodCode_ 3
00015
00016
00017 class IrrigationEfficiency
00018 {
00019 public:
00021 void readLine(ifstream& stream);
00022 void readLine(FILE*& stream);
00023
00025 void printToScreen();
00026 void outputLineGeneral(std::ostream *outstream);
00027 void writeLine(ofstream& stream);
00028
00030 int getCode() const {return Code;}
00031 string getName() const {return NameIrrigMethod;}
00032
00033 double getSharePrecipitation() const {return sharePrecipitation;}
00034 double getShareTopsoil() const {return shareTopsoil;}
00035 double getShareRunoff() const {return shareRunoff;}
00036 double getShareGroundwater() const {return shareGroundwater;}
00037
00038 void setName(string name_);
00039 void setName(char* name_);
00040
00042 void copy(const IrrigationEfficiency& rhs);
00043 void allocate();
00044 void deallocate();
00045
00046 IrrigationEfficiency(void);
00047 IrrigationEfficiency(const IrrigationEfficiency& rhs);
00048 ~IrrigationEfficiency();
00049
00050 virtual IrrigationEfficiency& operator=(const IrrigationEfficiency& rhs);
00051
00052
00053 private:
00054 int Code;
00055 char* NameIrrigMethod;
00056 double sharePrecipitation;
00057 double shareTopsoil;
00058 double shareRunoff;
00059 double shareGroundwater;
00060 };
00061 #endif
00062