完整word版数据结构课程设计银行账户管理系统Word下载.docx
- 文档编号:15708487
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:18
- 大小:148.63KB
完整word版数据结构课程设计银行账户管理系统Word下载.docx
《完整word版数据结构课程设计银行账户管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《完整word版数据结构课程设计银行账户管理系统Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
4.通过这次实验使自己的设计水平有所提高,对数据结构的整体认知程度有所加强,锻炼自己思考和设计能力。
B、需求分析:
需要先建立结本程序点类模板,然后使用链表的基本操作应用实现各个程序的实现,头插法先建立链表使之成当前操作数据基础,然后可以使用节点的删除进行储户的销户,结点的插入的应用成为程序的开户(注意:
建立新的用户要先确认新建的用户号不可以与之前的用户号码相同,引起系统错误!
本程序应用链表节点的比较改进程序。
)。
储户的存取也是应用节点的比较查找之后进行的账户钱数加减.
2.程序的执行命令操作
(1).建立节电类模板,构建链表.
(2).输入储户信息。
(3)。
执行各项操作(数据测试)
查询储户信息.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:
结构设计说明
本程序主要应用数据结构节点类模板,首先构建节点类模板,在建立已有储户数据中对头结点(*head)分配动态存储空间,对头结点的邻接点(head—>
next)赋初值,循环插入新结点建立储户数据(头插法)。
在账号循环插入中进行账号重复判断。
2.在查找账户的过程中,应用结点下移继续查找,实现账户正确查找应用。
3.在销户过程中,进行结点删除,从而实现储户的销户。
在开户过程中,定义新结点,分配新的存储空间,进行结点插入,在账号循环插入中进行账号重复判断,完成开户过程。
5。
在存取记录过程中,应用结点下移进行循环查找账户信息,显示账户信息。
6。
主函数测试。
D、详细设计:
//活期储蓄帐目管理
#include<
iostream>
#include〈string>
usingnamespacestd;
template<
classT〉//构建节点类模板
classNode
{
public:
Node〈T>
*next;
//T可省指针
stringname;
Tdata;
longintnumber;
};
classT>
classSavingList
public:
SavingList(){};
Node〈T〉*CreatSavingList();
voidSearchAccount(longintx);
*DeleteAccount(longintx);
Node〈T〉*InsertAccount(longintx);
voidRecord(longintx,inty);
private:
*head;
};
classT〉//建立已有储户数据
Node〈T〉*SavingList〈T〉:
:
CreatSavingList()
{
head=newNode<
T〉;
//初值
intk=1;
//分配动态空间
Node<
T〉*p,*q;
head->
next=NULL;
//赋初值
longintnumber,Number;
intdata;
stringname;
cout〈〈"
请输入账户号(八位整数):
”;
cin〉>
number;
Number=number;
请输入姓名:
"
;
cin>
〉name;
cout<
<
”请输入账户余额:
〉data;
while(number/1e7>
=1&
&
number/1e7〈=10)
{
p=newNode〈T>
q=newNode〈T>
;
p—〉number=number;
//节点初值
p—>
name=name;
p—〉data=data;
next=head-〉next;
//将p插入连中
head-〉next=p;
cout<
"
是否继续输入信息按1继续输入按0退出”<
endl;
cin>
〉k;
if(k==0)
break;
cout〈〈”请输入账户号(八位整数):
>
q=head->
next;
while(q)//账号的重复判断
{
if(q-〉number==number)
{
cout〈〈"
账号已存在!
”〈<
endl;
break;
}
else
q=q->
next;
}
if(!
q)
{
cout<
〈”请输入姓名:
”;
cin>
请输入账户余额:
data;
}
}
returnhead;
}
template〈classT〉//查找账户
voidSavingList〈T〉:
:
SearchAccount(longintx)
if(x/1e7<
1||x/1e7>
10)
cout〈〈”您输入的账户不存在"
〈endl;
return;
}
long〉*p;
p=head;
while(p!
=NULL&&
p-〉number!
=x)
p=p->
//向下移位继续查找
if(p==NULL)
{
您输入的账户未找到"
else
{
cout〈<
”账户名:
〈〈p—〉name<
”账户号码:
〈〈p-〉number<
账户余额:
”〈〈p->
data<
元”〈〈endl;
}
template〈classT>
//销户
Node<
T>
*SavingList〈T>
DeleteAccount(longintx)
*p,*q;
//节点类型
=NULL&&p—〉number!
q=p;
p=p—〉next;
}
”您输入的账户已不存在"
〈<
q-〉next=p->
//将q删掉
}
}
template〈classT〉//开户
Node〈T〉*SavingList〈T>
InsertAccount(longintx)
{
*p,*q;
q=newNode〈T>
charw[10];
//名字
inti;
q->
number=x;
q—>
next=p->
p-〉next=q;
//插入q(新的账号)
”请输入姓名:
w;
cout〈<
请输入余额:
〉i;
name=w;
data=i;
”您的新账户的信息是:
”〈〈endl;
账户名:
”〈〈q->
name<
〈”账户号码:
q-〉number<
〈endl;
账户余额:
”〈〈q—〉data<
〈"
元"
//存取款记录
voidSavingList〈T>
Record(longintx,inty)
*p;
p=head;
=NULL&
&p-〉number!
=x)//循环查找P的相同正确值节点下移
”您输入的账户不存在"
p—〉data=p-〉data+y;
if(p—>
0)
cout<
”余额不足请充值!
〈〈endl;
else
cout〈〈"
目前您的账户信息:
”〈〈endl;
账户名(八位):
”<
p->
name〈〈endl;
cout〈〈”账户号码:
p—〉number〈〈endl;
cout〈<
”〈<
data〈<
元”<
}
intMenu()
{
intn;
”————-——--——--——--———-——--—Menu-—--————-———--—--————-——-—-"
〈〈endl;
〈”\t1。
查询账户2.开户\n\n"
\t3。
支出存储记录4.销户\n\n"
”\t5。
退出”〈<
〈”—————-—-——---—--——-———-—--—--——-—————-—--—-———-—--—-—-—-—”;
do
请输入你的选择(1—-5):
\n”<
cin〉>
n;
while(n〈1||n>
5);
returnn;
intmain()
SavingList<
long〉T;
long〉*head;
head=T。
CreatSavingList();
longintx;
inty,n;
for(;
)
switch(Menu())
{
case1:
〈”请输入您要查询的账户:
cin>
x;
T.SearchAccount(x);
”是否需要继续进行操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 数据结构 课程设计 银行 账户 管理 系统