//家庭财务管理系统,本程序扩充至一个小型的集体。由于水平有限不能调用数据库信息不能永久保存,正在致力于研究!
//实现家庭的各种账单(水/电/煤气费,宽带/电话费等)的管理功能, //可以对各类账单及用户信息进行登记、修改、删除等。 #include
const int M=100;
class cost
//给系统设定人数限制 //费用类,定义抽象类,虚函数
{
public: double *s; //费用成员指针 virtual int get_n()=0; //定义一个费用总个数虚函数
virtual double get_cost()=0; //定义计算费用的虚函数 cost() {
s=new double[M]; for(int i=0;i {s[i]=0.0;} } virtual ~cost() { } delete[] s; }; class water_rate:public cost { public: double *t; //用水量 //水费类继承费用类 int nT; water_rate(); ~water_rate(); void set(); //用户用水个数 //构造函数 //析构函数 //输入信息函数 void set_water(); //显示水费函数 int get_n(); //返回用户水费个数函数 double get_cost(); //返回用户用水总费用函数 }; water_rate::water_rate() //给费用和用水量分配空间 { nT=0; t=new double[M]; for(int i=0;i {t[i]=0.0;} } water_rate::~water_rate() { delete[] t; } void water_rate::set() //计算用户的水费 { cout<<\请输入用水量(吨):注(1.95元/吨)\ cin>>t[cost_n]; nT++; } void water_rate::set_water() { s[cost_n]=t[cost_n]*1.95; cout<<\水费:\\t\\t\元/吨)\\t\\t\元\ //返回用户水费个数函数 } int water_rate::get_n() { return nT; } double water_rate::get_cost() //返回用户用水费总数用函数 { double sum=0.0; for(int i=0;i sum=sum+s[i]; } return sum; //电费类继承费用类 } class elec_rate:public cost { public: double *d; int nT; elec_rate(); //计算用电的用户个数 //电费类的构造 //输入用电度数函数 ~elec_rate(); //析构 void set(); void set_elec();//显示电费信息 int get_n(); //返回用户电费费个数函数 double get_cost(); //返回用户用电总费用函数 }; elec_rate::elec_rate() { } elec_rate::~elec_rate() { } void elec_rate::set() { cout<<\请输入用电度数:注(0.65元/度)\ cin>>d[cost_n]; nT++; } void elec_rate::set_elec() { delete[] d; nT=0; d=new double[M]; for(int i=0;i //计算电费函数 s[cost_n]=d[cost_n]*0.65; cout<<\电费:\\t\\t\元/度)\\t\\t\元\ //返回用户电费费个数函数 } int elec_rate::get_n() { return nT; } double elec_rate::get_cost() //返回用户用电总费用函数 { double sum=0.0; for(int i=0;i sum=sum+s[i]; return sum; }//电费类定义完毕! class comm_rate:public cost { public: double *tp; double *cp; //定义一个电话费用函数 //定义一个上网费用函数 //定义一个通信类函数 int nT; //计算通信用户个数 comm_rate(); //通信类构造 ~comm_rate();//通信类析构 void set(); //输入电话用和上网费用 void set_comm(); //计算通信费用 int get_n(); double get_cost(); //计算通信总费用 }; comm_rate::comm_rate() { nT=0; tp=new double[M]; cp=new double[M]; for(int i=0;i } } comm_rate::~comm_rate() { delete[] tp; delete[] cp; } void comm_rate::set() { cout<<\请输入通信消费:注(元)\ cout<<\电话消费 上网消费:\ cin>>tp[cost_n]>>cp[cost_n]; nT++; } void comm_rate::set_comm() { s[cost_n]=tp[cost_n]+cp[cost_n]; cout<<\通信费 :\\t\\t\电话费费)\\t\\t\元\ } int comm_rate::get_n() { return nT; } double comm_rate::get_cost() { double sum=0.0; for(int i=0;i sum=sum+s[i]; } return sum; +上网 }///通信类定义完毕! class shop_rate:public cost //定义一个购物类 { public: double *sp; //衣服费用成员 double *hp; //其他用品费用成员 int nT; //计算购物用户个数 shop_rate(); //购物类构造 ~shop_rate(); //析构 void set(); //输入购物费用 void set_shop(); //计算购物费用 int get_n(); //返回购物用户个数 double get_cost(); //返回购物总消费 }; shop_rate::shop_rate() { nT=0; sp=new double[M]; hp=new double[M]; for(int i=0;i } } shop_rate::~shop_rate() { delete[] sp; delete[] hp; } void shop_rate::set() { cout<<\请输入购物消费:(元)\ cout<<\衣服消费 其他用品消费:\ cin>>sp[cost_n]>>hp[cost_n]; nT++; } void shop_rate::set_shop() { s[cost_n]=sp[cost_n]+hp[cost_n]; cout<<\购物费用 :\\t\ 衣 服 + 品)\\t\\t\元\} int shop_rate::get_n() 其 他 用