设计一个Bank类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。解:Bank类包括私有数据成员top(当前账指针),date(日期),money(金额),rest(余额)和sum(累计余额)。有三个成员函数bankin()(处理存入账),bankout()(处理取出账)和disp()(输出明细账)请完成函数的实现。

本题程序如下:
#include<stdio.h>
#include<string.h>
#defi

设计一个Bank类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。解:Bank类包括私有数据成员top(当前账指针),date(日期),money(金额),rest(余额)和sum(累计余额)。有三个成员函数bankin()(处理存入账),bankout()(处理取出账)和disp()(输出明细账)请完成函数的实现。

本题程序如下:
#include<stdio.h>
#include<string.h>
#define Max 100
class Bank
{
int top;
char date[Max][10];//日期
int money[Max];//金额
int rest[Max];//余额
static int sum;//累计余额
public:
Bank(){top=0;}
void bankin(char d[ ],int m){…}
void bankout(char d[ ],int m){…}
void disp(){…};
} ;


【正确答案】:

1)
STRCPY(DATE [TOP],D);
MONEY[TOP]=M;
SUM=SUM+M;
REST[TOP]=SUM;
TOP++;
2)
STRCPY(DATE[TOP],D);
MONEY[TOP]=-M;
SUM=SUM-M;
REST[TOP]=SUM;
TOP++;
PRINTF(“日期存入 取出余额\N”);
3)
INT I;
FOR(I=0;I<TOP;I++)
{
PRINTF("%8S",DATE[I]);
IF(MONEY[I]<0)
PRINTF("%6D",-MONEY[I]);
ELSE
PRINTF("%6D",MONEY[I]);
PRINTF("%6D\N",REST[I]);
}


【题目解析】:

在C++中,类定义的一般格式如下:
class类名
{
访问范围说明符:
成员变量1
成员变量2
……
成员函数声明1
成员函数声明2
……
}

bankin()功能是处理存入账,主要是实现累加,即sum=sum+m;

bankout()功能是处理取出账,主要是实现减去金额,即sum=sum-m;

disp()功能是输出明细账,即每处理一笔进账或出账,都把明显的数值输出。


Top