资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
目录三、编程题部分(银行ATM模拟存取系统)1、设计内容第2页2、设计 第2页(1)数据分析 第2页(2)程序流程分析 第3页3、编码及调试 第13页4、程序运行截图 第32页四、总结与体会 第37页五、参考文献 第39页三、编程题部分1、设计内容完成一个管理类的综合型设计:银行ATM模拟存取系统。要求学生进行数据结构的设计、对函数进行模块化结构化设计、并灵活运用数组、结构体、指针、文件等多种数据类型设计开发系统。通过写程序,学生应掌握用计算机程序设计语言解决实际问题的方法、步骤。该系统应该具有以下功能:1)账户管理功能a) 开户:完成账户注册的功能。即输入账户的相关信息。要求账户号长度12位,密码长度不得低于6位,必须使用暗码,账户信息保存到数组中,账户信息最后保存到相关文件中;b) 账户登录:输入账户、密码,验证是否能够登录该系统;c)密码修改:输入两次相同的密码方可修改。2)账务管理功能a) 存款:每笔存款金额大于0元小于等于1000元,以50元为基本单位。需记录交易日期和时间。b) 取款:每笔取款金额大于等于100元小于等于2000元,以50元为基本单位。需记录交易日期和时间。c) 转账:每笔转账金额大于等于100元小于等于5000元。需记录交易日期和时间。3)查询功能a) 存款记录查询b) 取款记录查询c) 转账记录查询d) 余额查询4)文件功能及其它功能:数据都应保存在相关文件中。2、设计(1) 数据分析(描述定义的各主要变量的作用及意义);char zhanghao16;/*用户账号*/char xingming9;/*用户姓名*/char mima7;/*账户密码*/char shengfenzheng19;/*用户身份证号*/float yue;/*账户余额*/char kaihushijian50;/*开户时间*/ char zhanghao16;/*交易的账号*/char jiaoyishijian50;/*交易时间*/char leixing5;/*交易类型*/float jiaoyijine;/*交易金额*/float jiaoyiyue;/*交易后的余额*/char duifangzhanghao12;/*交易时的对方账号*/ int zhanghuxuhao=0,jiaoyixuhao=0,dangqianxiabiao=0,duifangzhanghuxiabiao=0;/*账户序号,交易序号,当前登录的账户下标,转账时对方的账户下标*/注册函数: int baiwei,shiwei,gewei,len;/*定义账号的后三位*/char mima27;/*注册时第二次输入的密码*/登录函数:char zhanghao16,mima7;/*登录时输入的账号和密码*/装载和保存文件函数: FILE *fp;/*定义文件指针*/ char wenjianming13;/*定义输入的文件名*/存、取款,转账函数: float jine;/*输入的存、取款,转账金额*/char t30;/*把取得的存、取款,转账时间赋给该数组*/转账函数:char duifangzhanghao16,c;/*输入的对方账号赋给该数组。在判断是否继续时,把输入的字符Y或N赋给c,以便读入选择*/修改密码函数:char mima7,xinmima17,xinmima27;/*旧密码,第一次输入的新密码,第二次输入的新密码*/(2)程序流程分析(描述主程序的基本构成、函数设计、函数的调用关系、各部分的流程图等。)主程序的基本构成:struct Zhanghu;/*账户的结构体*/typedef struct Jiaoyi;/*交易记录的结构体*/int menu(); /*主菜单函数*/void zhuce(); /*主菜单功能函数注册函数*/void denglu(); /*主菜单功能函数登录函数*/void zhuangzai(); /*主菜单功能函数装载数据函数*/void baocun(); /*主菜单功能函数保存数据函数*/int denglu_menu(); /*登录菜单函数*/void cunkuan(); /*登录菜单功能函数存款函数*/void qukuan(); /*登录菜单功能函数取款函数*/void zhuanzhang(); /*登录菜单功能函数转账函数*/void chaxun(); /*登录菜单功能函数查询函数*/void xiugaimima(); /*登录菜单功能函数修改密码函数*/int chaxun_menu(); /*查询菜单函数*/void chaxun_yue(); /*查询菜单功能函数查询余额函数*/void chaxun_mingxi(); /*查询菜单功能函数查询明细函数*/void chaxun_cunkuan(); /*查询菜单功能函数查询存款函数*/void chaxun_qukuan(); /*查询菜单功能函数查询取款函数*/void chaxun_zhuanzhang();/*查询菜单功能函数查询转账函数*/函数设计:本程序在函数设计上采用结构化程序设计方法,自顶向下,逐步根据功能设计函数,逐步细化设计,由浅入深,模块化设计,保证了程序的可读性和质量。先设计主菜单(一级菜单)的功能函数,再设计二级菜单的功能函数,自顶而下,逐步细化。如图示意:主菜单功能注册登录装载保存(顶层设计)怎样注册怎样保存怎样读入查询转账取款存款(第二层设计)二级菜单(第三层设计)函数调用关系:strcpyzhucestrlenstrcmpstrcmpcunkuanstrcmpqukuandenglustrcpyzhuangzhangchaxun_menumaindenglu_menuchaxun_yuechaxunchaxun_mingxixiugaimimachaxun_cunkuanfopenchaxun_qukuanfscanfchaxun_zhuanzhangzhuangzaifgetsfopenfclosefprintbaocunfclosemenu注册函数的流程图:开始定义数据变量,调用时间函数,设置账号的随机分配输入姓名输入两次密码两次密码相同 N Y输入身份证号号位数既不为15也不为18 Y N输入存款金额输出账户和第一次交易的数据清单结束登录函数的流程图:开始定义个变量,i=0输入账号izhanghuxuhao N Y输入的账号和已注册的某一账号相同i+输入密码密码错误 N密码输入次数为3 Y进入登陆界面执行switch功能语句 N Yreturn;输入选项数字数字为0 N根据选项执行语句退出 Y修改密码函数的流程图:输入账号输入旧密码密码正确return; N Y输入两次新密码 N次数为3两次密码输入相同 N Yreturn; Y 密码修改成功结束开始 开始 system(cls);结束 返回 存款函数的流程图: 输入存款金额jinejine%50!=0|jine=0jine%50!=0|jine=0 Y N return;调用时间函数调用strcpy函数复制账号、类型、时间。计算余额
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号