c语言课程设计模拟银行存取款业务Word文件下载.docx
《c语言课程设计模拟银行存取款业务Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计模拟银行存取款业务Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
![c语言课程设计模拟银行存取款业务Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/19/4775f27a-9c56-405e-95fb-0f90c5a9ba53/4775f27a-9c56-405e-95fb-0f90c5a9ba531.gif)
第4章系统使用说明10
4.1管理员使用说明10
4.2普通用户使用说明10
附录10
第1章绪论
1.1设计目的
1)银行存取款系统是针对银行账目的日常管理而设计。
银行账目管理系统不仅要求操作方便而且要求界面简洁,它还需要实现账目管理,用户查询功能。
2)并了解银行存取款业务的流程,使用C语言和数据程序知识模拟银行存取款系统。
1.2背景
说明:
a.待开发的软件系统的名称:
模拟银行存取款业务。
b.本项目的任务由安博思软的严武军老师提出,面向的用户是银行的管理员和普通用户。
c.面对日新月异的计算机的普及,利用计算机对储蓄的用户进行综合的管理。
1.3开发环境
Vi编辑器gcc编译器
1.4运行环境
RedHat
第2章系统总体设计
2.1系统设计的组成框图
2.2功能描述
系统实现的主要功能有:
1.管理员登陆
管理员可以实现对账户的管理:
注销用户,添加用户,查看用户,退出。
2.普通用户登陆
普通用户可以实现对自己的账户的管理:
取款,存款,查看余额,退出。
第3章系统详细设计
3.1程序设计流程图
3.2功能模块设计
3.2.1登陆界面
进入系统,显示欢迎界面,选择普通用户操作还是管理员用户操作。
3.2.2普通用户登陆
1.密码验证
作为普通用户登陆时,需要验证账号和密码是否匹配,匹配成功即可进行其他操作。
2.存款功能
登陆账号后,选择存款功能,并输入存款金额,写入文件,原有金额增加,可使用查询功能进行查询。
3.取款功能:
取款功能:
登陆账号后,选择取款功能,并输入取款金额,判断输入金额是否大于原有存款,若大于原有金额显示输入错误,余额不足,若输入金额小于原有金额则取出钞票,并写入文件,原有金额减小,可使用查询功能进行查询。
4.查询模块:
查询功能:
查询账户现有存款。
3.2.3管理员登陆
管理员的权限很大,可以添加,注销,查看,用户信息,在此系统中,管理员的默认账号是555,密码是555。
2.注销用户
管理员登陆成功以后进行操作选择:
输入要注销用户的账号,若存在就删除,若不存在就返回操作选择界面。
3.添加用户
输入要添加用户的账号,密码,姓名,余额,若已存在此账号,则注册失败,返回操作选择界面。
4.查看用户
查看所有用户的信息。
3.3函数功能描述
menu1()//登陆的第一个界面
menu2()//超级管理员界面
menu3()//普通用户界面
is_mima()//验证管理员账号密码
pass(structperson*head,longnum,longpassword)//验证普通用户账号和密码
creat()//将银行卡信息.txt文本中的信息读取到链表中
get_money(structperson*head,longnum,intmoney)//用户取钱
save_money(structperson*head,longnum,intmoney)//用户存钱
insert(structperson*head,structperson*p)//添加用户
del(structperson*head,longnum)//注销用户
writeb(structperson*head)//将建立的链表存入银行卡信息.txt中
第4章系统使用说明
4.1管理员使用说明
1)输入账号555密码555,登陆界面。
若账号密码错误则重新输入。
2)登陆界面后,选择功能
3)选择a为注销用户,输入要注销的账号,若存在则注销,若不存在,则操作失败
4)选择b为添加用户,输入要添加的账号,密码,姓名,余额,若不存在此账号,则注册成功,否则失败。
5)选择c为查看用户信息,显示所有的用户信息。
6)选择d安全退出系统。
4.2普通用户使用说明
1)输入用户的账号和密码,登陆界面,若账号密码错误则重新输入。
3)选择a.为取款功能,输入取款金额,若取款机金额小于原有存款,则取款成功,取出钞票。
4)选择b.为存款功能,输入存款金额,存档,存款成功。
5)选择c.为查看余额,显示账户的余额。
6)选择d.退出系统。
附录
/*程序源代码*/
#include<
stdio.h>
string.h>
stdlib.h>
structperson{
longnum;
//账号
longpassword;
//密码
charname[20];
//姓名
longmoney;
//余额
structperson*next;
};
structperson*head=NULL;
intn;
//文件的个数
inta=-1;
longid;
//超级管理员的id是555
longpassword;
//超级管理员的密码是555
voidwriteb(structperson*head)//将建立的链表存入银行卡信息.txt中
{
FILE*pt;
structperson*p;
pt=fopen("
银行卡信息.txt"
"
w"
);
if(pt==NULL)
{
perror("
银行卡信息.txt\n"
exit
(1);
}
p=head;
while(p)
fprintf(pt,"
%d%d%s%d\n"
p->
num,p->
password,p->
name,p->
money);
p=p->
next;
fprintf(pt,"
%d%d"
a,a);
fclose(pt);
}
structperson*insert(structperson*head,structperson*p)//创建链表
structperson*p1;
p1=head;
while(p1->
num!
=p->
num&
&
p1->
next!
=NULL)
p1=p1->
if(p1->
num==p->
num)
printf("
已经存在此账号\n请重新选择:
\n"
returnhead;
p->
next=head;
head=p;
printf("
插入成功!
n++;
writeb(head);
returnhead;
structperson*del(structperson*head,longnum)
structperson*p,*p2;
if(head==NULL)
没有信息\n"
while(p->
=num&
p->
p2=p;
if(p->
num==num)
if(p==head)
head=head->
else
p2->
next=p->
删除成功!
else
没有此信息\n"
/*pt=fopen("
*/
structperson*creat()//将银行卡信息.txt文本中的信息读取到链表中
p=(structperson*)malloc(sizeof(structperson));
p2=(structperson*)malloc(sizeof(structperson));
r"
fscanf(pt,"
%d%d%s%d"
&
num,&
password,&
name,&
if(p->
num==-1)
数据库中没有信息"
=-1)
n++;
if(n==1)
{
head=p;
}
next=p;
p=(structperson*)malloc(sizeof(structperson));
fscanf(pt,"
p2->
next=NULL;
return(head);
structperson*save_money(structperson*head,longnum,intmoney)//用户存钱
structperson*p1,*p2;
if(head==NULL)
卡中无记录\n"
return0;
p2=p1;
p1->
money=p1->
money+money;
已经存入%d\n"
money);
可用余额为%d\n"
p1->
不存在此卡号\n"
structperson*get_money(structperson*head,long