完整word版数据结构课程设计银行账户管理系统.docx

上传人:b****5 文档编号:2797397 上传时间:2022-11-15 格式:DOCX 页数:18 大小:148.63KB
下载 相关 举报
完整word版数据结构课程设计银行账户管理系统.docx_第1页
第1页 / 共18页
完整word版数据结构课程设计银行账户管理系统.docx_第2页
第2页 / 共18页
完整word版数据结构课程设计银行账户管理系统.docx_第3页
第3页 / 共18页
完整word版数据结构课程设计银行账户管理系统.docx_第4页
第4页 / 共18页
完整word版数据结构课程设计银行账户管理系统.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

完整word版数据结构课程设计银行账户管理系统.docx

《完整word版数据结构课程设计银行账户管理系统.docx》由会员分享,可在线阅读,更多相关《完整word版数据结构课程设计银行账户管理系统.docx(18页珍藏版)》请在冰豆网上搜索。

完整word版数据结构课程设计银行账户管理系统.docx

完整word版数据结构课程设计银行账户管理系统

 

目  录

A:

 设计目的3

1.1了解分析方法3

B:

 需求分析3

1.程序需求及思想3

2.程序执行命令操作3

C:

 概要设计3—5

1。

程序设计流程图4

2。

程序结构设计说明5

D:

详细设计5—12

F:

设计心得。

....。

....。

.....。

.。

.。

...。

...。

16-17

G:

参考文献.。

..。

.。

.。

..。

...。

..。

..。

.。

...。

..17

A、设计目的:

1.了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;

2。

充分了解和学习数据结构的系统设计和程序编码,对问题的探究与分析,进行更多的应用与测试。

3。

学习设计实现活期储蓄账目管理,并令其方便、简单、快捷的实现其各个部分的功能。

4.通过这次实验使自己的设计水平有所提高,对数据结构的整体认知程度有所加强,锻炼自己思考和设计能力。

B、需求分析:

1。

需要先建立结本程序点类模板,然后使用链表的基本操作应用实现各个程序的实现,头插法先建立链表使之成当前操作数据基础,然后可以使用节点的删除进行储户的销户,结点的插入的应用成为程序的开户(注意:

建立新的用户要先确认新建的用户号不可以与之前的用户号码相同,引起系统错误!

本程序应用链表节点的比较改进程序。

)。

储户的存取也是应用节点的比较查找之后进行的账户钱数加减.

2.程序的执行命令操作

(1).建立节电类模板,构建链表.

(2).输入储户信息。

(3)。

执行各项操作(数据测试)

1。

查询储户信息.2开户.

3储户支取信息查询。

4。

储户的程序销户。

5。

程序完成。

(4)。

程序退出。

C、概要设计:

C.1:

程序流程图

程序开始

输入客户信息

程序菜单:

1,3(查询)2-(开户)4-(销户)5-(退出)

Case2:

系统开户(插入新的节点)作为新的户头(不可重复)

Case1,3:

系统查找(账户对比)

存取消费操作

Case4:

(用户销户)删除当前节点出去信息

1查找成功0出

1开户成功0出

1删除成功0出

程序员结束程序(系统退出)

程序结束

(退出)

*程序设计流程图*

 

C.2:

结构设计说明

1。

本程序主要应用数据结构节点类模板,首先构建节点类模板,在建立已有储户数据中对头结点(*head)分配动态存储空间,对头结点的邻接点(head—>next)赋初值,循环插入新结点建立储户数据(头插法)。

在账号循环插入中进行账号重复判断。

2.在查找账户的过程中,应用结点下移继续查找,实现账户正确查找应用。

3.在销户过程中,进行结点删除,从而实现储户的销户。

4。

在开户过程中,定义新结点,分配新的存储空间,进行结点插入,在账号循环插入中进行账号重复判断,完成开户过程。

5。

在存取记录过程中,应用结点下移进行循环查找账户信息,显示账户信息。

6。

主函数测试。

D、详细设计:

//活期储蓄帐目管理

#include

#include〈string>

usingnamespacestd;

template

classNode

public:

Node〈T>*next;//T可省指针

stringname;

Tdata;

longintnumber;

};

template

classSavingList

public:

SavingList(){};

Node〈T〉*CreatSavingList();

voidSearchAccount(longintx);

Node〈T>*DeleteAccount(longintx);

Node〈T〉*InsertAccount(longintx);

voidRecord(longintx,inty);

private:

Node〈T>*head;

};

template

Node〈T〉*SavingList〈T〉:

CreatSavingList()

{

head=newNode

intk=1;//分配动态空间

Node

head->next=NULL;//赋初值

longintnumber,Number;

intdata;

stringname;

cout〈〈"请输入账户号(八位整数):

”;

cin〉>number;

Number=number;

cout〈〈"请输入姓名:

";

cin>〉name;

cout<<”请输入账户余额:

";

cin>〉data;

while(number/1e7>=1&&number/1e7〈=10)

p=newNode〈T>;

q=newNode〈T>;

p—〉number=number;//节点初值

p—>name=name;

p—〉data=data;

p—>next=head-〉next;//将p插入连中

head-〉next=p;

cout<<"是否继续输入信息按1继续输入按0退出”<

cin>〉k;

if(k==0)

break;

cout〈〈”请输入账户号(八位整数):

”;

cin>>number;

q=head->next;

while(q)//账号的重复判断

{

if(q-〉number==number)

cout〈〈"账号已存在!

”〈

break;

}

else

q=q->next;

}

if(!

q)

cout<〈”请输入姓名:

”;

cin>〉name;

cout<<"请输入账户余额:

";

cin>>data;

}

}

returnhead;

}

template〈classT〉//查找账户

voidSavingList〈T〉:

:

SearchAccount(longintx)

{

if(x/1e7<1||x/1e7>10)

cout〈〈”您输入的账户不存在"<〈endl;

return;

Node

p=head;

while(p!

=NULL&&p-〉number!

=x)

p=p->next;//向下移位继续查找

if(p==NULL)

{

cout<<"您输入的账户未找到"<〈endl;

else

cout〈<”账户名:

"〈〈p—〉name<〈endl;

cout<<”账户号码:

"〈〈p-〉number<

cout〈<"账户余额:

”〈〈p->data<<"元”〈〈endl;

template〈classT>//销户

Node*SavingList〈T>:

DeleteAccount(longintx)

{

Node*p,*q;//节点类型

p=head;

while(p!

=NULL&&p—〉number!

=x)

{

q=p;

p=p—〉next;

if(p==NULL)

cout〈<”您输入的账户已不存在"〈

else

q-〉next=p->next;//将q删掉

}

returnhead;

}

template〈classT〉//开户

Node〈T〉*SavingList〈T>:

:

InsertAccount(longintx)

Node〈T>*p,*q;

q=newNode〈T>;

charw[10];//名字

inti;

p=head;

q->number=x;

q—>next=p->next;

p-〉next=q;//插入q(新的账号)

cout<<”请输入姓名:

";

cin>>w;

cout〈<"请输入余额:

";cin>〉i;

q->name=w;

q—>data=i;

cout〈<”您的新账户的信息是:

”〈〈endl;

cout〈〈"账户名:

”〈〈q->name<

cout<〈”账户号码:

"〈

cout<<"账户余额:

”〈〈q—〉data<〈"元"<〈endl;

returnhead;

template//存取款记录

voidSavingList〈T>:

:

Record(longintx,inty)

Node*p;

p=head;

while(p!

=NULL&&p-〉number!

=x)//循环查找P的相同正确值节点下移

{

p=p->next;

}

if(p==NULL)

cout<<”您输入的账户不存在"<〈endl;

else

{

p—〉data=p-〉data+y;

if(p—>data<0)

cout<<”余额不足请充值!

"〈〈endl;

else

cout〈〈"目前您的账户信息:

”〈〈endl;

cout<〈"账户名(八位):

”<name〈〈endl;

cout〈〈”账户号码:

”<

cout〈<"账户余额:

”〈data〈<"元”<

}

intMenu()

{

intn;

cout〈<”————-——--——--——--———-——--—Menu-—--————-———--—--————-——-—-"〈〈endl;

cout<〈”\t1。

查询账户2.开户\n\n"〈

支出存储记录4.销户\n\n"<

cout<<”\t5。

退出”〈

cout<〈”—————-—-——---—--——-———-—--—--——-—————-—--—-———-—--—-—-—-—”;

cout<

do

{

cout〈<"请输入你的选择(1—-5):

\n”<〈endl;

cin〉>n;

}

while(n〈1||n>5);

returnn;

}

intmain()

SavingList

Node

head=T。

CreatSavingList();

longintx;

inty,n;

for(;;)

{

switch(Menu())

case1:

cout<〈”请输入您要查询的账户:

";

cin>>x;

T.SearchAccount(x);

cout〈<”是否需要继续进行操

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1