crystky 2020-04-10 21:40 采纳率: 0%
浏览 546

C++建立一个小型储蓄系统,求帮

小型储蓄系统
采用命令行方式模拟实现银行小型储蓄系统,需要包含基本功能:
1. 创建,修改,删除各种账户
2. 存款,取款
3. 网上支付功能(借记卡,信用卡等不同)
4. 所有数据采用文件存储。
5. 自由发挥增加新功能
6. 采用多文件项目方式组织系统代码,整个系统采用命令行菜单形式操作,参考教材第11章的简单事务处理实例。
不完整的供参考类体系设计
class Account //存款抽象类
{

friend Account * findacc(Account * p, unsigned s, unsigned acc);
public:
Account(unsigned sel,unsigned accNo, float balan = 0.0);
unsigned AccountId(); //查节点的储蓄类型
int AccoutNo(); //查账号
float AcntBalan(); //查余额
Account * Next(); //取下一节点指针
static int NoAccounts(); //查账户数
static Account * First(); //取链首指针
void display(); //显示账号余额
void setNext(Account *); //设置当前节点的pNext值
virtual void Deposit(float amount) = 0; //存款
virtual void Withdrawal(float amount) = 0; //取款
virtual ~Account();
protected:
unsigned id; //节点标识:Saving=1;Checking=2;Card=3;Fixsaving=4;
unsigned acntNumber; //账号
Human owner; //帐号户主信息
RMB balance //一个帐号中可以存不同的币别
//以上的三个变量是一个帐号中的关键信息
Account * pNext; //节点的指针
static Account * pFirst; //链首指针
static int count; //节点个数
};

class Saving: public Account //储蓄存款
{
public:
Saving(unsigned sel,unsigned accNo, float balan = 0.0);
virtual void Deposit(float amount); //存款
virtual void Withdrawal(float amount); //取款
virtual ~Saving() {}
};

class Card: public Saving //信用卡存款
{
public:
Card(unsigned sel,unsigned accNo, float balan = 0.0, char* pp = "");
static float getMinBalan();
void setPassword(char *pp);
int checkPassword(char *pp);
virtual void Deposit(float amount); //存款
virtual void Withdrawal(float amount); //取款
virtual ~Card() {}
protected:
static float minbalance;
char password[11]; //password最多10个字符
};
enum FIXTYPE {threeMonths,sixMonths,oneYear, threeYears, fiveYears};
struct Date
{
int year;
int month;
int day;
};

class Fixsaving: public Saving //定期存款类
{ public:
Fixsaving(unsigned sel,unsigned accNo, int ft, const Date & d,float balan = 0.0);
FIXTYPE getFixtimetype();
Date getfixtime();
int compFixtime();
int deleteNode(Account *); //删除链表中的一个节点
virtual void Deposit(float amount); //存款
virtual void Withdrawal(float amount); //取款
virtual ~Fixsaving() {}
protected:
FIXTYPE fixtimetype;
Date fixtime;
private:
int getcurr_time(int&,int&,int&);
};

enum REMIT { remitByPost, remitByCable, other};
class Checking: public Account //结算存款类
{
public:
Checking(unsigned sel,unsigned accNo, float balan = 0.0);
virtual void Deposit(float amount); //存款
virtual void Withdrawal(float amount); //取款
virtual ~Checking() {}
void SetRemit(REMIT r); //置汇款方式
protected:
REMIT remittance; //汇款方式
};

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-04-10 23:41
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#人工智能#的问题:(2)设计一个GUI,允许语音和文本实现谣言的检测
  • ¥50 请教 麒麟系统挂载怎么安装
  • ¥15 如何在ns3中实现路径的自由切换
  • ¥20 SpringBoot+Vue3
  • ¥15 IT从业者的调查问卷
  • ¥65 LineageOs-21.0系统编译问题
  • ¥30 关于#c++#的问题,请各位专家解答!
  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计