C语言储蓄综合平台1ppt课件

上传人:痛*** 文档编号:190460467 上传时间:2023-02-27 格式:PPT 页数:36 大小:1,008KB
返回 下载 相关 举报
C语言储蓄综合平台1ppt课件_第1页
第1页 / 共36页
C语言储蓄综合平台1ppt课件_第2页
第2页 / 共36页
C语言储蓄综合平台1ppt课件_第3页
第3页 / 共36页
点击查看更多>>
资源描述
储蓄综合业务平台储蓄综合业务平台(1)(1)项目概述项目概述项目名称项目名称储蓄综合业务平台储蓄综合业务平台 代码量代码量 600-800600-800行行课时安排课时安排共共3636学时(一周,第学时(一周,第1 1周),理论授课周),理论授课1212学时,教师上机指学时,教师上机指导导1212学时,个人实践学时,个人实践1212学时学时项目简介项目简介本项目的目标是开发一套银行储蓄柜台的综合业务平台,本项目的目标是开发一套银行储蓄柜台的综合业务平台,它包括最常使用的开户、销户、存款、取款、查询等功能它包括最常使用的开户、销户、存款、取款、查询等功能项目目标项目目标1.1.使学生更深一步了解软件开发过程,了解复杂软件的组使学生更深一步了解软件开发过程,了解复杂软件的组织过程,复杂程序的控制过程。织过程,复杂程序的控制过程。2.2.提高代码的规范度。提高代码的规范度。3.3.掌握掌握C C语言中大部分的知识点。语言中大部分的知识点。主要技术主要技术1.1.结构体数组及其访问方法结构体数组及其访问方法2.C2.C语言的格式化输出语言的格式化输出3.3.文件的访问文件的访问技术重点技术重点结构体数组的访问结构体数组的访问 技术难点技术难点 文件的读写文件的读写第一阶段:需求分析第一阶段:需求分析第二阶段:详细设计与实现第二阶段:详细设计与实现第三阶段:项目调试及部署第三阶段:项目调试及部署第四阶段:项目总结第四阶段:项目总结四个设计阶段四个设计阶段第一阶段:需求分析第一阶段:需求分析项目背景项目背景需求描述需求描述需求分析需求分析模块划分模块划分概要设计概要设计1.1 项目背景项目背景储蓄业务越来越走进人们的生活。代发工资、代储蓄业务越来越走进人们的生活。代发工资、代缴水电费、代缴电话费等业务极大的方便了人们缴水电费、代缴电话费等业务极大的方便了人们的日常生活。越来越多的人们也开始使用银行业的日常生活。越来越多的人们也开始使用银行业务、储蓄业务,同时银行储蓄客户越来越多。银务、储蓄业务,同时银行储蓄客户越来越多。银行还在使用手工记帐,由于手工记帐工作效率非行还在使用手工记帐,由于手工记帐工作效率非常低,通常有储户等待,排成长龙的现象,同时常低,通常有储户等待,排成长龙的现象,同时这给工作人员增加了非常大的负担和额外的工作这给工作人员增加了非常大的负担和额外的工作负荷,也给银行的发展带来了严重的制约和压力负荷,也给银行的发展带来了严重的制约和压力,银行储蓄信息化已经到了不解决不行的地步。,银行储蓄信息化已经到了不解决不行的地步。1.2 需求描述需求描述 系统的具体需求:系统的具体需求:银行操作员输入用户名密码后,登录本系统。银行操作员输入用户名密码后,登录本系统。银行操作员通过本系统为储蓄用户进行开户操作。银行操作员通过本系统为储蓄用户进行开户操作。银行操作员根据储蓄用户要求,通过本系统存入存款。银行操作员根据储蓄用户要求,通过本系统存入存款。银行操作员根据储蓄用户要求,通过本系统完成取款业务操银行操作员根据储蓄用户要求,通过本系统完成取款业务操作。作。银行操作员通过本系统查询储蓄用户的余额。银行操作员通过本系统查询储蓄用户的余额。银行操作员根据储蓄用户要求,通过本系统完成销户业务操银行操作员根据储蓄用户要求,通过本系统完成销户业务操作。作。储蓄用户的帐户信息保存到文件中。储蓄用户的帐户信息保存到文件中。1.3 需求分析需求分析角色、功能分析:角色名称角色名称操作功能操作功能银行操作员银行操作员登录、开户、存款、取款、查询余额、登录、开户、存款、取款、查询余额、销户销户银行管理员银行管理员银行操作员管理银行操作员管理用例图用例图 操作员管理管理员日志浏览1.3 需求分析需求分析1.4 模块划分模块划分功能编号功能编号功能简述功能简述功能描述功能描述0退出退出退出应用程序,返回到操作系统退出应用程序,返回到操作系统1登录登录输入用户名和密码,验证后进入本系统输入用户名和密码,验证后进入本系统2开户开户为储户在本系统中开立一个帐户,供后续业务为储户在本系统中开立一个帐户,供后续业务使用使用3存款存款把储户的存款额加在其帐户上把储户的存款额加在其帐户上4取款取款从该储户的帐户余额上减去取款额从该储户的帐户余额上减去取款额5查询查询查询储户的帐户余额及其他信息查询储户的帐户余额及其他信息6销户销户结算帐户余额,并将该帐户的状态置为销户结算帐户余额,并将该帐户的状态置为销户1.4 模块划分模块划分 体系结构示体系结构示意图意图业务模块业务模块服务模块服务模块1.5 概要设计概要设计业务函数 函数名称函数名称功能简述功能简述void openAccount()开户,在结构体数组中增加一个数组成员,该成员信开户,在结构体数组中增加一个数组成员,该成员信息就是一个储户的信息息就是一个储户的信息void closeAcount()销户,将该帐户的帐户状态置为销户,将该帐户的帐户状态置为1,余额置为,余额置为0void deposit()存款,将存款金额加到该帐户的余额上存款,将存款金额加到该帐户的余额上void withdraw()取款,从该帐户的余额上扣除取款金额取款,从该帐户的余额上扣除取款金额void query()查询,查询某帐户的信息查询,查询某帐户的信息1.5 概要设计概要设计服务函数 函数名称函数名称功能简述功能简述void welcome()显示欢迎信息显示欢迎信息void mainmenu()系统主菜单系统主菜单int findAnAccount()查找一个帐号在数组中的位置查找一个帐号在数组中的位置void dispAnAccount()显示一个帐号的帐户信息显示一个帐号的帐户信息int createAccNumber()生成一个新的可用帐号生成一个新的可用帐号int readData()把储户信息从文件中读到结构体数组中把储户信息从文件中读到结构体数组中int writeData()把储户信息从结构体数组写入文件中把储户信息从结构体数组写入文件中int checkInput()检查录入的户名、密码、存入金额格式是否合法检查录入的户名、密码、存入金额格式是否合法第二阶段:详细设计与实现第二阶段:详细设计与实现任务一:登录业务模块功能及主函数实现任务一:登录业务模块功能及主函数实现任务二:系统菜单及开户功能实现任务二:系统菜单及开户功能实现 任务三:存款功能实现任务三:存款功能实现任务四:取款功能实现任务四:取款功能实现任务五:文件的读写操作任务五:文件的读写操作任务六:查询功能实现任务六:查询功能实现 任务七:销户功能及系统退出功能实现任务七:销户功能及系统退出功能实现任务一:登录业务模块功能及主函数实现任务一:登录业务模块功能及主函数实现 登录时,操作员输入用户名和密码。如果验证通过,显示登录时,操作员输入用户名和密码。如果验证通过,显示系统主菜单,否则提示错误消息,要求用户重新输入;三系统主菜单,否则提示错误消息,要求用户重新输入;三次输入错误,退出系统。次输入错误,退出系统。任务一:登录业务模块功能及主函数实现任务一:登录业务模块功能及主函数实现开场开场输入用户名和密码输入用户名和密码用户名及密码判断用户名及密码判断从文件中读取数据放入结构体数从文件中读取数据放入结构体数组中,并得到数组的最大下标值组中,并得到数组的最大下标值选择操作类型选择操作类型开户开户销户销户存款存款取款取款查询查询退出退出完毕完毕错误错误三次错误三次错误正确正确代码实现:步骤代码实现:步骤1创建头文件,创建头文件,bankOperation.hbankOperation.h和和bankServe.hbankServe.h,将概,将概要设计中分析得到的函数声明分别添加到该头文件中要设计中分析得到的函数声明分别添加到该头文件中 1.1.函数在头文件中声明,并在实现文件中定义。函数在头文件中声明,并在实现文件中定义。2.2.一个实现文件中不能两次包含同一个头文件。一个实现文件中不能两次包含同一个头文件。3.3.考虑使用具有描述性的名称,对于项目开发非考虑使用具有描述性的名称,对于项目开发非常重要,是一个很值得养成的习惯。常重要,是一个很值得养成的习惯。代码实现:步骤代码实现:步骤2创建源文件:创建源文件:bank.cbank.c。在在bank.cbank.c中添加中添加main()main()函数,声明用户数组函数,声明用户数组userNameuserName和用户密码数组和用户密码数组userPWRuserPWR。main()main()char userName9;char userName9;char userPWD7;char userPWD7;printf(printf(请输入您的用户名请输入您的用户名:);:);scanf(%s,userName);scanf(%s,userName);printf(printf(请输入您的密码请输入您的密码:);:);scanf(%s,userPWD);scanf(%s,userPWD);C C语言中的语言中的输入输出功输入输出功能的实现能的实现判断用户输入的用户名和密码是否有效判断用户输入的用户名和密码是否有效代码实现:步骤代码实现:步骤3if(strcmp(userName,admin)=0)&if(strcmp(userName,admin)=0)&(strcmp(userPWD,admin)=0)(strcmp(userPWD,admin)=0)C C语言中字符串语言中字符串的比较函数的比较函数注意,程序中只要使用了任何一个串处理函数,注意,程序中只要使用了任何一个串处理函数,都要在程序前面加上都要在程序前面加上#include#include 利用利用FORFOR循环语句控制三次判断用户有效性验证循环语句控制三次判断用户有效性验证如果验证通过,显示系统主菜单如果验证通过,显示系统主菜单mainmenu()mainmenu(),否,否则退出系统。则退出系统。注意头文件的包含。注意头文件的包含。代码实现:步骤代码实现:步骤4创建函数的实现文件创建函数的实现文件bankServe.cbankServe.c与头文件与头文件 bankServe.h bankServe.h 对应对应在在bankServe.cbankServe.c中对中对mainmenu()mainmenu()函数进行定函数进行定义,先暂时定义为空。义,先暂时定义为空。代码实现:步骤代码实现:步骤5最后,在最后,在main()main()函数中调用一个自定义的函数中调用一个自定义的welcome()welcome()函数,以完善我们的程序。函数,以完善我们的程序。在在bankServe.cbankServe.c中对中对welcome()welcome()函数进行定义。函数进行定义。代码实现:步骤代码实现:步骤6操作员在系统菜单中选择要使用的功能模块。操作员在系统菜单中选择要使用的功能模块。操作员为储户在储蓄系统中开立一个帐户,供操作员为储户在储蓄系统中开立一个帐户,供后续业务使用。后续业务使用。任务二:系统菜单及开户功能实现任务二:系统菜单及开户功能实现任务需求描述:任务需求描述:步骤步骤1:在在bankServe.c中对中对mainmenu()函数进行定义。函数进行定义。步骤步骤2:利用利用dowhile循环循环 实现反复选实现反复选择系统菜单功能择系统菜单功能步骤步骤3:使用使用switch语句确认操作员选语句确认操作员选择的具体功能模块,并调用对应的功能择的具体功能模块,并调用对应的功能模块函数模块函数系统主菜单代码实现系统主菜单代码实现:步骤步骤4:创建函数的实现文件创建函数的实现文件bankOperation.c与头文件与头文件 bankOperation.h 对应对应步骤步骤5:在在bankOperation.c中对以下函数中对以下函数进行定义,先暂时定义为空,若无定义,进行定义,先暂时定义为空,若无定义,不能对不能对bankmain.c进行链接。进行链接。void openAccount();/开户开户void closeAccount();/销户销户void deposit();/存款存款void withdraw();/取款取款void query();/查询查询系统主菜单代码实现系统主菜单代码实现:系统主菜单代码实现系统主菜单代码实现:开户功能代码实现:开户功能代码实现:任务需求描述:任务需求描述:操作员接收储户交来的现金和存款凭证,开始执行开操作员接收储户交来的现金和存款凭证,开始执行开户操作。户操作。操作员输入储户姓名、密码本来应由储户自已从密操作员输入储户姓名、密码本来应由储户自已从密码键盘输入,本系统简化成由操作员代输入)。码键盘输入,本系统简化成由操作员代输入)。系统自动生成该储户帐号,每次最大开户人数为系统自动生成该储户帐号,每次最大开户人数为9999人人 存入金额默认开户金额为存入金额默认开户金额为0 0元。元。开户成功后,显示该储户信息,按任意键返回主界面开户成功后,显示该储户信息,按任意键返回主界面开户功能代码实现:开户功能代码实现:步骤步骤1:创建一个新的头文件创建一个新的头文件bankDataStruct.h步骤步骤2:在在bankDataStruct.h中添加对帐户结构中添加对帐户结构体的声明体的声明struct record int accNumber;/账号账号 char accName9;/户名户名 char accPWD7;/密码密码 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=0;步骤步骤4:依次获取帐户的帐号、名称、密码和存入金依次获取帐户的帐号、名称、密码和存入金额。额。注意账号为自动生成数据,其它数据都从键盘输入注意账号为自动生成数据,其它数据都从键盘输入获取。获取。createAccNumber、getaccName、getaccPWD、getcash函数将在后续步骤中实现函数将在后续步骤中实现开户功能代码实现:开户功能代码实现:accNumber=createAccNumber();getaccName(accName);getaccPWD(accPWD);cash=getcash(0);步骤步骤5:将获取的帐户信息对应赋给帐户信息结构将获取的帐户信息对应赋给帐户信息结构体体record中声明的帐户信息中声明的帐户信息 开户功能代码实现:开户功能代码实现:maxAccount+;/帐户的数量帐户的数量rsmaxAccount.accNumber=accNumber;strcpy(rsmaxAccount.accName,accName);strcpy(rsmaxAccount.accPWD,accPWD);rsmaxAccount.balance=cash;strcpy(rsmaxAccount.flag ,0);注意:注意:maxAccount变量的含义是记录操作员变量的含义是记录操作员现在录入账户在结构体数组中的位置,需要在现在录入账户在结构体数组中的位置,需要在mainmenu()中对它初始化为中对它初始化为0.步骤步骤6:将帐户信息保存到文件中,并显示帐将帐户信息保存到文件中,并显示帐户信息。户信息。这里我们只保留写文件函数这里我们只保留写文件函数writeData()的调用的调用,具体实现在后续任务中完成。,具体实现在后续任务中完成。此处,为了暂时调试程序能正常运行,应该将此处,为了暂时调试程序能正常运行,应该将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 return rsmaxAccount.accNumber+1;步骤步骤9:实现获取账户名称函数:实现获取账户名称函数getaccName().步骤步骤10:实现获取账户密码函数:实现获取账户密码函数getaccPWD().步骤步骤11:实现获取存入金额函数:实现获取存入金额函数getcash().该函数及后续的该函数及后续的getaccPWD和和getcash()函数都函数都用到了用到了checkInput()函数,这个函数实现的功能函数,这个函数实现的功能是检查操作员输入的账号信息是否规范。我们将是检查操作员输入的账号信息是否规范。我们将在最后的步骤中实现。在最后的步骤中实现。开户功能代码实现:开户功能代码实现:步骤步骤1212:实现:实现checkInput()checkInput()函数,这个函数实现函数,这个函数实现的功能是检查操作员输入的账号信息是否规范。的功能是检查操作员输入的账号信息是否规范。开户功能代码实现:开户功能代码实现:至此,我们的开户功能全部实现至此,我们的开户功能全部实现开户功能代码实现:开户功能代码实现:任务总结任务总结 1.在头文件中对所需要的函数进行声明在头文件中对所需要的函数进行声明 2.每个头文件要对应有相应的实现文件每个头文件要对应有相应的实现文件 3.搞清楚程序的结构搞清楚程序的结构,各个函数的调用及调用关系各个函数的调用及调用关系三个三个.h文件,三个文件,三个.c文件,文件,编写了编写了10函数的实现函数的实现 4.用好用好C语言的字符型函数,在编程中多查资料并做语言的字符型函数,在编程中多查资料并做好记录,这是以后基础。好记录,这是以后基础。5.好的编程风格要从一点一滴逐步养成好的编程风格要从一点一滴逐步养成。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!