C语言储蓄综合平台1ppt课件_第1页
C语言储蓄综合平台1ppt课件_第2页
C语言储蓄综合平台1ppt课件_第3页
C语言储蓄综合平台1ppt课件_第4页
C语言储蓄综合平台1ppt课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、储蓄综合业务平台储蓄综合业务平台(1)(1)项目概述项目概述项目名称项目名称储蓄综合业务平台储蓄综合业务平台 代码量代码量 600-800600-800行行课时安排课时安排共共3636学时(一周,第学时(一周,第1 1周),理论授课周),理论授课1212学时,教师上机指学时,教师上机指导导1212学时,个人实践学时,个人实践1212学时学时项目简介项目简介本项目的目标是开发一套银行储蓄柜台的综合业务平台,本项目的目标是开发一套银行储蓄柜台的综合业务平台,它包括最常使用的开户、销户、存款、取款、查询等功能它包括最常使用的开户、销户、存款、取款、查询等功能项目目标项目目标1.1.使学生更深一步了解

2、软件开发过程,了解复杂软件的组使学生更深一步了解软件开发过程,了解复杂软件的组织过程,复杂程序的控制过程。织过程,复杂程序的控制过程。2.2.提高代码的规范度。提高代码的规范度。3.3.掌握掌握C C语言中大部分的知识点。语言中大部分的知识点。主要技术主要技术1.1.结构体数组及其访问方法结构体数组及其访问方法2.C2.C语言的格式化输出语言的格式化输出3.3.文件的访问文件的访问技术重点技术重点结构体数组的访问结构体数组的访问 技术难点技术难点 文件的读写文件的读写第一阶段:需求分析第一阶段:需求分析第二阶段:详细设计与实现第二阶段:详细设计与实现第三阶段:项目调试及部署第三阶段:项目调试及

3、部署第四阶段:项目总结第四阶段:项目总结四个设计阶段四个设计阶段第一阶段:需求分析第一阶段:需求分析项目背景项目背景需求描述需求描述需求分析需求分析模块划分模块划分概要设计概要设计1.1 项目背景项目背景储蓄业务越来越走进人们的生活。代发工资、代储蓄业务越来越走进人们的生活。代发工资、代缴水电费、代缴电话费等业务极大的方便了人们缴水电费、代缴电话费等业务极大的方便了人们的日常生活。越来越多的人们也开始使用银行业的日常生活。越来越多的人们也开始使用银行业务、储蓄业务,同时银行储蓄客户越来越多。银务、储蓄业务,同时银行储蓄客户越来越多。银行还在使用手工记帐,由于手工记帐工作效率非行还在使用手工记帐

4、,由于手工记帐工作效率非常低,通常有储户等待,排成长龙的现象,同时常低,通常有储户等待,排成长龙的现象,同时这给工作人员增加了非常大的负担和额外的工作这给工作人员增加了非常大的负担和额外的工作负荷,也给银行的发展带来了严重的制约和压力负荷,也给银行的发展带来了严重的制约和压力,银行储蓄信息化已经到了不解决不行的地步。,银行储蓄信息化已经到了不解决不行的地步。1.2 需求描述需求描述 系统的具体需求:系统的具体需求:银行操作员输入用户名密码后,登录本系统。银行操作员输入用户名密码后,登录本系统。银行操作员通过本系统为储蓄用户进行开户操作。银行操作员通过本系统为储蓄用户进行开户操作。银行操作员根据

5、储蓄用户要求,通过本系统存入存款。银行操作员根据储蓄用户要求,通过本系统存入存款。银行操作员根据储蓄用户要求,通过本系统完成取款业务操银行操作员根据储蓄用户要求,通过本系统完成取款业务操作。作。银行操作员通过本系统查询储蓄用户的余额。银行操作员通过本系统查询储蓄用户的余额。银行操作员根据储蓄用户要求,通过本系统完成销户业务操银行操作员根据储蓄用户要求,通过本系统完成销户业务操作。作。储蓄用户的帐户信息保存到文件中。储蓄用户的帐户信息保存到文件中。 1.3 需求分析需求分析角色、功能分析:角色名称角色名称操作功能操作功能银行操作员银行操作员登录、开户、存款、取款、查询余额、登录、开户、存款、取款

6、、查询余额、销户销户银行管理员银行管理员银行操作员管理银行操作员管理用例图用例图 操作员管理管理员日志浏览1.3 需求分析需求分析1.4 模块划分模块划分功能编号功能编号功能简述功能简述功能描述功能描述0退出退出退出应用程序,返回到操作系统退出应用程序,返回到操作系统1登录登录输入用户名和密码,验证后进入本系统输入用户名和密码,验证后进入本系统2开户开户为储户在本系统中开立一个帐户,供后续业务为储户在本系统中开立一个帐户,供后续业务使用使用3存款存款把储户的存款额加在其帐户上把储户的存款额加在其帐户上4取款取款从该储户的帐户余额上减去取款额从该储户的帐户余额上减去取款额5查询查询查询储户的帐户

7、余额及其他信息查询储户的帐户余额及其他信息6销户销户结算帐户余额,并将该帐户的状态置为销户结算帐户余额,并将该帐户的状态置为销户1.4 模块划分模块划分 体系结构示体系结构示意图意图业务模块业务模块服务模块服务模块1.5 概要设计概要设计业务函数 函数名称函数名称功能简述功能简述void openAccount() 开户,在结构体数组中增加一个数组成员,该成员信开户,在结构体数组中增加一个数组成员,该成员信息就是一个储户的信息息就是一个储户的信息void closeAcount()销户,将该帐户的帐户状态置为销户,将该帐户的帐户状态置为1,余额置为,余额置为0void deposit()存款,

8、将存款金额加到该帐户的余额上存款,将存款金额加到该帐户的余额上void withdraw()取款,从该帐户的余额上扣除取款金额取款,从该帐户的余额上扣除取款金额void query()查询,查询某帐户的信息查询,查询某帐户的信息1.5 概要设计概要设计服务函数 函数名称函数名称功能简述功能简述void welcome()显示欢迎信息显示欢迎信息void mainmenu()系统主菜单系统主菜单int findAnAccount()查找一个帐号在数组中的位置查找一个帐号在数组中的位置void dispAnAccount()显示一个帐号的帐户信息显示一个帐号的帐户信息int createAccNu

9、mber()生成一个新的可用帐号生成一个新的可用帐号int readData()把储户信息从文件中读到结构体数组中把储户信息从文件中读到结构体数组中int writeData()把储户信息从结构体数组写入文件中把储户信息从结构体数组写入文件中int checkInput()检查录入的户名、密码、存入金额格式是否合法检查录入的户名、密码、存入金额格式是否合法第二阶段:详细设计与实现第二阶段:详细设计与实现任务一:登录业务模块功能及主函数实现任务一:登录业务模块功能及主函数实现任务二:系统菜单及开户功能实现任务二:系统菜单及开户功能实现 任务三:存款功能实现任务三:存款功能实现任务四:取款功能实现

10、任务四:取款功能实现任务五:文件的读写操作任务五:文件的读写操作任务六:查询功能实现任务六:查询功能实现 任务七:销户功能及系统退出功能实现任务七:销户功能及系统退出功能实现任务一:登录业务模块功能及主函数实现任务一:登录业务模块功能及主函数实现 登录时,操作员输入用户名和密码。如果验证通过,显示登录时,操作员输入用户名和密码。如果验证通过,显示系统主菜单,否则提示错误消息,要求用户重新输入;三系统主菜单,否则提示错误消息,要求用户重新输入;三次输入错误,退出系统。次输入错误,退出系统。 任务一:登录业务模块功能及主函数实现任务一:登录业务模块功能及主函数实现开场开场输入用户名和密码输入用户名

11、和密码用户名及密码判断用户名及密码判断从文件中读取数据放入结构体数从文件中读取数据放入结构体数组中,并得到数组的最大下标值组中,并得到数组的最大下标值选择操作类型选择操作类型开户开户销户销户存款存款取款取款查询查询退出退出完毕完毕错误错误三次错误三次错误正确正确代码实现:步骤代码实现:步骤1创建头文件,创建头文件,bankOperation.hbankOperation.h和和bankServe.hbankServe.h,将概,将概要设计中分析得到的函数声明分别添加到该头文件中要设计中分析得到的函数声明分别添加到该头文件中 1. 1.函数在头文件中声明,并在实现文件中定义。函数在头文件中声明,

12、并在实现文件中定义。 2. 2.一个实现文件中不能两次包含同一个头文件。一个实现文件中不能两次包含同一个头文件。 3. 3.考虑使用具有描述性的名称,对于项目开发非考虑使用具有描述性的名称,对于项目开发非常重要,是一个很值得养成的习惯。常重要,是一个很值得养成的习惯。代码实现:步骤代码实现:步骤2创建源文件:创建源文件:bank.cbank.c。在在bank.cbank.c中添加中添加main()main()函数,声明用户数组函数,声明用户数组userNameuserName和用户密码数组和用户密码数组userPWRuserPWR。main()main()char userName9;char

13、 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) &

14、 if(strcmp(userName,admin)=0) & (strcmp(userPWD,admin)=0) (strcmp(userPWD,admin)=0) C C语言中字符串语言中字符串的比较函数的比较函数注意,程序中只要使用了任何一个串处理函数,注意,程序中只要使用了任何一个串处理函数,都要在程序前面加上都要在程序前面加上#include #include 利用利用FORFOR循环语句控制三次判断用户有效性验证循环语句控制三次判断用户有效性验证如果验证通过,显示系统主菜单如果验证通过,显示系统主菜单mainmenu()mainmenu(),否,否则退出系统。则退出系统。注

15、意头文件的包含。注意头文件的包含。代码实现:步骤代码实现:步骤4创建函数的实现文件创建函数的实现文件bankServe.cbankServe.c与头文件与头文件 bankServe.h bankServe.h 对应对应在在bankServe.cbankServe.c中对中对mainmenu( )mainmenu( )函数进行定函数进行定义,先暂时定义为空。义,先暂时定义为空。代码实现:步骤代码实现:步骤5最后,在最后,在main()main()函数中调用一个自定义的函数中调用一个自定义的welcome()welcome()函数,以完善我们的程序。函数,以完善我们的程序。在在bankServe.

16、cbankServe.c中对中对welcome()welcome()函数进行定义。函数进行定义。代码实现:步骤代码实现:步骤6操作员在系统菜单中选择要使用的功能模块。操作员在系统菜单中选择要使用的功能模块。操作员为储户在储蓄系统中开立一个帐户,供操作员为储户在储蓄系统中开立一个帐户,供后续业务使用。后续业务使用。 任务二:系统菜单及开户功能实现任务二:系统菜单及开户功能实现任务需求描述:任务需求描述:步骤步骤1: 在在bankServe.c中对中对mainmenu( )函数进行定义。函数进行定义。步骤步骤2: 利用利用dowhile循环循环 实现反复选实现反复选择系统菜单功能择系统菜单功能步骤

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

18、unt(); /销户销户void deposit(); /存款存款void withdraw(); /取款取款void query(); /查询查询系统主菜单代码实现系统主菜单代码实现: :系统主菜单代码实现系统主菜单代码实现: :开户功能代码实现:开户功能代码实现:任务需求描述:任务需求描述: 操作员接收储户交来的现金和存款凭证,开始执行开操作员接收储户交来的现金和存款凭证,开始执行开户操作。户操作。 操作员输入储户姓名、密码本来应由储户自已从密操作员输入储户姓名、密码本来应由储户自已从密码键盘输入,本系统简化成由操作员代输入)。码键盘输入,本系统简化成由操作员代输入)。 系统自动生成该储户

19、帐号,每次最大开户人数为系统自动生成该储户帐号,每次最大开户人数为9999人人 存入金额默认开户金额为存入金额默认开户金额为0 0元。元。 开户成功后,显示该储户信息,按任意键返回主界面开户成功后,显示该储户信息,按任意键返回主界面开户功能代码实现:开户功能代码实现:步骤步骤1: 创建一个新的头文件创建一个新的头文件bankDataStruct.h步骤步骤2: 在在bankDataStruct.h中添加对帐户结构中添加对帐户结构体的声明体的声明struct record int accNumber; / 账号账号 char accName9; / 户名户名 char accPWD7; / 密码

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

21、ame, 0, sizeof(accName); memset(accPWD, 0, sizeof(accPWD); cash=0;步骤步骤4: 依次获取帐户的帐号、名称、密码和存入金依次获取帐户的帐号、名称、密码和存入金额。额。注意账号为自动生成数据,其它数据都从键盘输入注意账号为自动生成数据,其它数据都从键盘输入获取。获取。createAccNumber、getaccName、getaccPWD、getcash函数将在后续步骤中实现函数将在后续步骤中实现开户功能代码实现:开户功能代码实现: accNumber=createAccNumber(); getaccName(accName);

22、getaccPWD(accPWD); cash=getcash(0);步骤步骤5: 将获取的帐户信息对应赋给帐户信息结构将获取的帐户信息对应赋给帐户信息结构体体record中声明的帐户信息中声明的帐户信息 开户功能代码实现:开户功能代码实现:maxAccount+; /帐户的数量帐户的数量rsmaxAccount.accNumber =accNumber;strcpy(rsmaxAccount.accName ,accName);strcpy(rsmaxAccount.accPWD ,accPWD);rsmaxAccount.balance =cash;strcpy(rsmaxAccount.

23、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 create

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论