资源描述
河北建筑工程学院信息工程学院
专 业 实 训 报 告
课题
名称
储蓄综合业务平台(C语言版)
专 业: 计算机科学与技术
班 级: 计122
姓 名: 申诗雨
学 号: 309225
起迄日期: 9月15日~ 9月 19日
实训地点: 计算机专业实验室 303
指引教师: 丁学钧
成 绩:
报告提交日期:
一周实习结束了,这一周下来咱们通过使用C语言编写一种简易版银行储蓄系统,在这个过程中咱们通过教师给资料和教师课前解说,然后自己自主通过C语言编写,通过五天努力完毕了这次任务。
Internship is over a week, this week down we through the use of C language to write a simple version of the bank system, in the process, we by the teacher to class information and the teacher, then independently written by C language, after five days of efforts to complete the task
核心字:C语言、银行储蓄系统、实习、任务
1. 绪论
储蓄业务越来越走进人们生活。银行代发工资、代缴水电费、代缴电话费等业务极大以便了人们寻常生活。越来越多人们也开始使用银行业务、储蓄业务,同步银行储蓄客户越来越多。银行还在使用手工记账,由于手工记账工作效率非常低,普通有储户等待,排成长龙现象,同步这给工作人员增长了非常大承担和额外工作负荷,也给银行发展带来了严重制约和压力,银行储蓄信息化已经到了不解决不行地步。并且为了实现高效特点,本系统采用C语言作为编程。
2 正文内容
2.1系统详细需求
£ 银行操作员输入顾客名密码后,登录本系统。
£ 银行操作员通过本系统为储蓄顾客进行开户操作。
£ 银行操作员依照储蓄顾客规定,通过本系统存入存款。
£ 银行操作员依照储蓄顾客规定,通过本系统完毕取款业务操作。
£ 银行操作员通过本系统查询储蓄顾客余额。
£ 银行操作员依照储蓄顾客规定,通过本系统完毕销户业务操作。
£ 储蓄顾客帐户信息保存到文献中。
£ 角色名称
£ 操作功能
£ 银行操作员
£ 登录、开户、存款、取款、查询余额、销户
£ 银行管理员
£ 银行操作员管理
£
2.2总体设计
功能编号
功能简述
功能描述
0
退出
退出应用程序,返回到操作系统
1
登录
输入顾客名和密码,验证后进入本系统
2
开户
为储户在本系统中开立一种帐户,供后续业务使用
3
存款
把储户存款额加在其帐户上
4
取款
从该储户帐户余额上减去取款额
5
查询
查询储户帐户余额及其她信息
6
销户
结算帐户余额,并将该帐户状态置为销户
2.3 详细设计与实现
£ 任务一:登录业务模块功能及主函数实现
£ 任务二:系统菜单功能实现
£ 任务三:开户功能实现
£ 任务四:存款功能实现
£ 任务五:取款功能实现
£ 任务六:文献读写操作
£ 任务七:查询功能实现
£ 任务八:销户功能及系统退出功能实现
2.4独立完毕某些
取款实现
void withdraw() //取款
{int accNumber;
char accPWD[15];
int accountPosition;//账户在数组中位置
double cash; //取出金额
accNumber=0;
accountPosition=-1;
cash=0;//初始化
accNumber=getaccNumber(1);//获取账号
accountPosition=findAnAccount(accNumber);//查找该账户
if(accountPosition==-1)
{printf("查无此账户\n");
system("pause");
return;
}//endif//显示账户信息
getaccPWD(accPWD);
if(strcmp(rs[accountPosition].accPWD,accPWD)!=0) return;
dispAnAccount(accountPosition);
if(strcmp(rs[accountPosition].flag,"0")!=0)
{printf("该账户已销户,不能取款!\n");
system("pause");
return;}
cash=getcash(1);
if((rs[accountPosition].balance-cash)<0)
{ printf("取款失败,余额局限性,不能提款!!\n");
system("pause");
return;}
rs[accountPosition].balance=rs[accountPosition].balance-cash;
dispAnAccount(accountPosition);
printf("取款成功!按任意键返回主菜单,,\n,");if(writeData())
{ printf("写文献出错!!!!");
return;}
getchar();
getchar();}
销户功能实现
void closeAccount()
{ int accNumber;
int i;
char PWD[15];
accNumber=getaccNumber(2);
for(i=0;i<=maxAccount;i++)
{if(rs[i].accNumber==accNumber)
{getaccPWD(PWD);
if(strcmp(rs[i].accPWD,PWD)==0){ if(strcmp(rs[i].flag,"1")==0){printf("以销户;\n");}
else
{strcpy(rs[i].flag,"1");
printf("销户成功\n");
if(writeData())
{ printf("写文献出错!!!!");
return;}
break;}}
else printf("密码错误");}}}
显示所有开户信息实现
void dispallaccount()//显示所有账户信息
{int i;
printf("+--------------------------------------------------------+\n);
printf("| %-5s | %-8s| %-6s | %-12s | %4s |\n",
"帐号","户名","密码","余额","状态");
printf("+--------------------------------------------------------+\n);
for(i=0;i<=maxAccount;i++)
{
printf("| %5d | %-8s| %-6s | %12.2f | %4s |\n",
rs[i].accNumber ,rs[i].accName ,
"******"/*rs[i].accPWD*/ ,rs[i].balance ,
atoi (rs[i].flag )?"销户":"正常");
printf("+--------------------------------------------------------+\n");} }
3系统测试
3.1项目调试:
程序写完之后,还要运营并通过测试,以发现编程中隐藏错误,虽然通过所有测试,也不能说程序不存在问题,只能阐明程序通过本测试用例测试。
3.2测试环节
操作员登陆功能测试
开户功能测试
存款功能测试
取款功能测试
销户功能测试
查询帐户信息测试
3.3测试数据
测试功能
测试目
输入动作
盼望状况
实际状况
登陆
与否正常登陆
输入账号1密码1
正常登陆
与盼望相符
登陆
与否正常登陆
输入账号2密码2
登陆异常
与盼望相符
开户功能
能否开户
按开户按钮,输入开户名1密码1
开户成功
与盼望相符
开户功能
能否开户
按开户按钮,输入开户名2密码2
开户成功
与盼望相符
存款功能
能否存款
按存款按钮,输入账号10001,密码1,输入存款金额
存款成功
与盼望相符
取款功能
能否取款
按取款按钮,输入账号10001,密码1,输入取款金额
取款成功
与盼望相符
查询功能
能否查询
按查询按钮,输入账号10001,密码1
显示查询信息
与盼望相符
销户功能
能否销户
按销户按钮,输入账号10001,密码1
销户成功
与盼望相符
显示所有顾客信息功能
能否显示所有顾客信息
按显示所有顾客信息按钮
显示所有顾客信息
与盼望相符
退出功能
能否退出
按退出按钮
系统退出
与盼望相符
4.1遇到核心问题
①在编写读写操作时文献不能正常读写文献,经教师协助找到问题是函数复制错误所致。
②在编写取款功能时没有添加取款时需用密码,经同窗提示添加。
③在编写查询功能时,按姓名查找某些无法增长密码这一某些,经同窗指点之后改进完毕。
④测试取款功能时,发现取款金额没有限制,最后在取款功能函数中增长取款金额限制。
5.1实训收获体会
通过五天实训项目已经完毕。通过此项目可以学到如何运用C语言完毕对文献读写操作及一系列库函数使用。C语言中库函数非常好繁多,在平时学习中应注意使用某些既有协助文档辅助学习库函数。但愿咱们通过完毕这个储蓄综合业务平台项目,在一定限度上掌握好C语言,为此后学习打下坚实基本,为更大型程序编写,打下坚实基本,对此后工作大有益处!
附参照文献:
展开阅读全文