您的位置:首页 > 其它

面向对象(OO)学习记录——个人银行管理初步~

2015-12-17 13:42 591 查看
NOIP考得不好,没打算考省选……,于是这两天在教室看了会OO的书,感觉和算法比差远了,个人理解OO是不带脑子代码量大的一个东西吧……还是更喜欢算法,但是退役了,就学一下OO吧~

这里看的书是

《C++语言程序设计》

清华出的……好像是10年的,也是借来看的,过两天买本新的看~

这是书上的一个例题,设计一个个人银行管理程序,我的打法和书上不太一样,是按自己理解来打的~

题目:支持存款取款,结算利息,开账户的操作……很简单,只是为了练习一下对类的理解和自己的代码能力,要是按以前的理解就直接开结构体往里边仍………………………………………………………………

不多说 贴上代码:

[code]#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;
}


卖个萌~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: