C语言储蓄综合平台1.ppt

上传人:本田雅阁 文档编号:2142658 上传时间:2019-02-21 格式:PPT 页数:36 大小:1.08MB
返回 下载 相关 举报
C语言储蓄综合平台1.ppt_第1页
第1页 / 共36页
C语言储蓄综合平台1.ppt_第2页
第2页 / 共36页
C语言储蓄综合平台1.ppt_第3页
第3页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言储蓄综合平台1.ppt》由会员分享,可在线阅读,更多相关《C语言储蓄综合平台1.ppt(36页珍藏版)》请在三一文库上搜索。

1、储蓄综合业务平台(1),面向过程项目实训之C语言版,指导教师:丁学钧,模块1,项目概述,第一阶段:需求分析 第二阶段:详细设计与实现 第三阶段:项目调试及部署 第四阶段:项目总结,四个设计阶段,第一阶段:需求分析,项目背景 需求描述 需求分析 模块划分 概要设计,1.1 项目背景,储蓄业务越来越走进人们的生活。代发工资、代缴水电费、代缴电话费等业务极大的方便了人们的日常生活。越来越多的人们也开始使用银行业务、储蓄业务,同时银行储蓄客户越来越多。银行还在使用手工记帐,由于手工记帐工作效率非常低,通常有储户等待,排成长龙的现象,同时这给工作人员增加了非常大的负担和额外的工作负荷,也给银行的发展带来

2、了严重的制约和压力,银行储蓄信息化已经到了不解决不行的地步。,1.2 需求描述,系统的具体需求: 银行操作员输入用户名密码后,登录本系统。 银行操作员通过本系统为储蓄用户进行开户操作。 银行操作员根据储蓄用户要求,通过本系统存入存款。 银行操作员根据储蓄用户要求,通过本系统完成取款业务操作。 银行操作员通过本系统查询储蓄用户的余额。 银行操作员根据储蓄用户要求,通过本系统完成销户业务操作。 储蓄用户的帐户信息保存到文件中。,1.3 需求分析,角色、功能分析:,用例图,1.3 需求分析,1.4 模块划分,1.4 模块划分 体系结构示意图,业务模块,服务模块,1.5 概要设计,业务函数,1.5 概

3、要设计,服务函数,第二阶段:详细设计与实现,任务一:登录业务模块功能及主函数实现 任务二:系统菜单及开户功能实现 任务三:存款功能实现 任务四:取款功能实现 任务五:文件的读写操作 任务六:查询功能实现 任务七:销户功能及系统退出功能实现,任务一:登录业务模块功能及主函数实现,登录时,操作员输入用户名和密码。如果验证通过,显示系统主菜单,否则提示错误消息,要求用户重新输入;三次输入错误,退出系统。,任务一:登录业务模块功能及主函数实现,开始,输入用户名和密码,用户名及密码判断,从文件中读取数据放入结构体数 组中,并得到数组的最大下标值,选择操作类型,开户,销户,存款,取款,查询,退出,结束,错

4、误,三次错误,正确,代码实现:步骤1,创建头文件,bankOperation.h和bankServe.h,将概要设计中分析得到的函数声明分别添加到该头文件中,1.函数在头文件中声明,并在实现文件中定义。 2.一个实现文件中不能两次包含同一个头文件。 3.考虑使用具有描述性的名称,对于项目开发非常重要,是一个很值得养成的习惯。,代码实现:步骤2,创建源文件:bank.c。 在bank.c中添加main()函数,声明用户数组userName和用户密码数组userPWR。,main() char userName9; char userPWD7; printf(“请输入您的用户名: “); scan

5、f(“%s“,userName); printf(“请输入您的密码: “); scanf(“%s“,userPWD); ,C语言中的输入输出功能的实现,判断用户输入的用户名和密码是否有效,代码实现:步骤3,if(strcmp(userName,“admin“)=0) & (strcmp(userPWD,“admin“)=0) ,C语言中字符串的比较函数,注意,程序中只要使用了任何一个串处理函数,都要在程序前面加上#include ,利用FOR循环语句控制三次判断用户有效性验证 如果验证通过,显示系统主菜单mainmenu(),否则退出系统。 注意头文件的包含。,代码实现:步骤4,创建函数的实现

6、文件bankServe.c与头文件 bankServe.h 对应 在bankServe.c中对mainmenu( )函数进行定义,先暂时定义为空。,代码实现:步骤5,最后,在main()函数中调用一个自定义的welcome()函数,以完善我们的程序。 在bankServe.c中对welcome()函数进行定义。,代码实现:步骤6,操作员在系统菜单中选择要使用的功能模块。 操作员为储户在储蓄系统中开立一个帐户,供后续业务使用。,任务二:系统菜单及开户功能实现,任务需求描述:,步骤1: 在bankServe.c中对mainmenu( )函数进行定义。 步骤2: 利用dowhile循环 实现反复选择

7、系统菜单功能 步骤3: 使用switch语句确认操作员选择的具体功能模块,并调用对应的功能模块函数,系统主菜单代码实现:,步骤4: 创建函数的实现文件bankOperation.c与头文件 bankOperation.h 对应 步骤5: 在bankOperation.c中对以下函数进行定义,先暂时定义为空,若无定义,不能对bankmain.c进行链接。 void openAccount(); /开户 void closeAccount(); /销户 void deposit(); /存款 void withdraw(); /取款 void query(); /查询,系统主菜单代码实现:,系统主

8、菜单代码实现:,开户功能代码实现:,任务需求描述:,操作员接收储户交来的现金和存款凭证,开始执行开户操作。 操作员输入储户姓名、密码(本来应由储户自已从密码键盘输入,本系统简化成由操作员代输入)。 系统自动生成该储户帐号,每次最大开户人数为99人 存入金额默认开户金额为0元。 开户成功后,显示该储户信息,按任意键返回主界面,开户功能代码实现:,步骤1: 创建一个新的头文件bankDataStruct.h 步骤2: 在bankDataStruct.h中添加对帐户结构体的声明,struct record int accNumber; / 账号 char accName9; / 户名 char ac

9、cPWD7; / 密码 double balance; / 账户余额 char flag2; / 销户标志 ;,步骤3: 在开户openAccount()函数中声明帐户信息变量,并对变量进行初始化。帐户信息包括帐户的帐号、名称、密码和存入金额。,开户功能代码实现:,int accNumber; / 账号 char accName9; / 户名 char accPWD7; / 密码 double cash; / 存入金额 accNumber=0; memset(accName, 0, sizeof(accName); memset(accPWD, 0, sizeof(accPWD); cash=

10、0;,步骤4: 依次获取帐户的帐号、名称、密码和存入金额。 注意账号为自动生成数据,其它数据都从键盘输入获取。 createAccNumber、getaccName、getaccPWD、getcash函数将在后续步骤中实现,开户功能代码实现:,accNumber=createAccNumber(); getaccName(accName); getaccPWD(accPWD); cash=getcash(0);,步骤5: 将获取的帐户信息对应赋给帐户信息结构体(record)中声明的帐户信息,开户功能代码实现:,maxAccount+; /帐户的数量 rsmaxAccount.accNumbe

11、r =accNumber; strcpy(rsmaxAccount.accName ,accName); strcpy(rsmaxAccount.accPWD ,accPWD); rsmaxAccount.balance =cash; strcpy(rsmaxAccount.flag ,“0“);,注意:maxAccount变量的含义是记录操作员现在录入账户在结构体数组中的位置,需要在mainmenu()中对它初始化为0.,步骤6: 将帐户信息保存到文件中,并显示帐户信息。 这里我们只保留写文件函数writeData()的调用,具体实现在后续任务中完成。 此处,为了暂时调试程序能正常运行,应该

12、将writeData()函数返回值设成false;,开户功能代码实现:,if(writeData() printf(“写文件出错!“); return; dispAnAccount(maxAccount); /显示帐户信息 printf(“开户成功!按任意键返回主菜单.“);,步骤7:实现显示帐户信息函数dispAnAccount, 在bankSever.c中实现,开户功能代码实现:,步骤8:实现自动生成账号函数createAccNumber, 在bankSever.c中实现,int createAccNumber( ) if(maxAccount=-1) return 10001; else

13、 return rsmaxAccount.accNumber +1; ,步骤9:实现获取账户名称函数getaccName(). 步骤10:实现获取账户密码函数getaccPWD(). 步骤11:实现获取存入金额函数getcash(). 该函数及后续的getaccPWD和getcash()函数都用到了checkInput()函数,这个函数实现的功能是检查操作员输入的账号信息是否规范。我们将在最后的步骤中实现。,开户功能代码实现:,步骤12:实现checkInput()函数,这个函数实现的功能是检查操作员输入的账号信息是否规范。,开户功能代码实现:,至此,我们的开户功能全部实现,开户功能代码实现:,任务总结,1. 在头文件中对所需要的函数进行声明 2. 每个头文件要对应有相应的实现文件 3. 搞清楚程序的结构, 各个函数的调用及调用关系 三个.h文件,三个.c文件, 编写了10函数的实现 4. 用好C语言的字符型函数,在编程中多查资料并做好记录,这是以后基础。 5. 好的编程风格要从一点一滴逐步养成 。,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1