NOIP考得不好,没打算考省选……,于是这两天在教室看了会OO的书,感觉和算法比差远了,个人理解OO是不带脑子代码量大的一个东西吧……还是更喜欢算法,但是退役了,就学一下OO吧~
这里看的书是
《C++语言程序设计》
清华出的……好像是10年的,也是借来看的,过两天买本新的看~
这是书上的一个例题,设计一个个人银行管理程序,我的打法和书上不太一样,是按自己理解来打的~
题目:支持存款取款,结算利息,开账户的操作……很简单,只是为了练习一下对类的理解和自己的代码能力,要是按以前的理解就直接开结构体往里边仍………………………………………………………………
不多说 贴上代码:
#include<iostream>
#include<cstring>
#include<cmath>
#include<iomanip>
using namespace std;
class ZH{
private:
double yue;
double lilv;
int lstdate;
string name;
double accumulation; //累加
void record(int date,int money);
public:
ZH(){}
ZH(string N,int LD,double LV)
{
name = N,lstdate = LD,lilv = LV;
cout<<"#\t"<<name<<"\t 创建成功!"<<endl;
cout<<"\t\t日期\t处理\t余额"<<endl;
}
string getI(){return name;}
double getY(){return yue;}
double getL(){return lilv;}
void cunqian(int date,double money);
void quqian(int date,double money);
void show();
void jiesuan(int date);
};
void ZH::record(int date,int money)
{
accumulation += (date - lstdate) * yue;
lstdate = date;
money = (floor)((money*100+0.5)/100);
yue += money;
cout<<"#\t"<<name<<"\t"<<date<<"\t"<<money<<"\t"<<yue<<endl;
}
void ZH::cunqian(int date,double money){record(date,money);}
void ZH::quqian(int date,double money)
{
if(money > getY()) cout<<"#\t"<<name<<"\t"<<date<<"\tNot Enough!!!"<<endl;
else record(date,-money);
}
void ZH::jiesuan(int date)
{
accumulation += yue*(date-lstdate);
accumulation = accumulation * lilv / 365;
if(accumulation > 0) record(date,accumulation);
accumulation = 0;
}
void ZH::show(){cout<<"#\t"<<name<<"\t余额:"<<yue<<endl;}
int main()
{
ZH dqs("DQS",0,0.01);
dqs.cunqian(12,450);
dqs.quqian(13,999);
dqs.quqian(15,9);
dqs.cunqian(20,233);
dqs.jiesuan(365);
dqs.show();
return 0;
}
卖个萌~