资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
HUBEIUNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计课程设计报告课设题目: 银行账户信息管理 专 业: 电子信息工程(汽车电子) 班 级: T1223-14 姓 名: 朱鹏 成 绩:完成日期: 2013年18周2013年19周 指导教师: 吴波 田漫柳 目录C语言程序设计0课程设计报告0目录11.课程设计目的22.需求分析22.1 要求22.2任务描述32.3运行环境42.4开发工具43.总体设计43.1系统流设计43.2系统模块设计54.详细设计64.1数据结构设计64.2 模块接口设计74.3主要功能模块的流程图95.运行结果145.1 欢迎界面145.2 主菜单145.3 次菜单-信息输入界面155.4 信息查询界面155.5记录查询界面165.6退出界面166.程序调试与测试176.1 主菜单选择测试176.2 次菜单选择测试176.3客户信息的输入测试186.4客户密码测试206.5存取款金额测试216.6存取款日期测试227.问题与不足238.建议239.编程体会2410.程序源代码2511.参考文献4212.用户使用手册4212.1 程序主要用途4212.2使用说明4212.3注意事项4312.4维护与升级431.课程设计目的1) 通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。2) 通过课程设计,进一步掌握C语言中重要的数据结构。掌握并熟练运用指针、链表、结构体、文件等数据结构。3) 通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。4) 通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。5) 通过课程设计,加强了自己的程序分析能力。2.需求分析2.1 要求1) 遵循软件开发过程的基本规;能灵活应用,初步具备运用C程序解决实际问题的能力。2) 运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。3) 学会利用数组、结构体、链表进行相关信息表示。4) 功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述5) 各主要功能模块有详尽的流程图与描述,用函数的形式实现,且调用入口、功能、出口等关系正确。6) 所设计的C程序较好的可读性和可靠性;程序书写风格规,注释清晰。7) 界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并对输入信息有较完善的值域分析。8) 程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。9) 学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。10) 掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。11) C语言课程设计报告的容反应实际设计过程,且符合格式要求,无抄袭现象。2.2任务描述已知一银行有5个客户(客户信息为:编号、客户、客户地址、客户、账户总金额(最开始为0)。设计一程序,完成以下功能。存、取款时间必须通过调用系统时间获得。1) 存款:输入客户编号、存款金额、存款日期,完成存款功能,需要判断客户编号是否存在,存款金额是否大于0,存款日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)。2) 取款:输入客户编号、存款金额、取款日期,完成取款功能,需要判断客户编号是否存在,取款金额是否大于0,取款金额是否小于客户的账户总金额,取款日期格式是否合法(格式为:YYYY-MM-DD,如2009-01-02)。3) 查询指定客户的余额4) 查询指定客户的存款记录5) 查询指定客户的取款记录6) 所有数据符合实际应用要求2.3运行环境1) Windows 7系统2) VC+6.0编译环境2.4开发工具C语言3.总体设计3.1系统流设计程序整体功能结构如图一所示:开始初始化并显示欢迎信息显示主菜单,输入选择填写房间价格客人申请入住客人申请结账结束3.2系统模块设计1) 主函数 函数int main();显示菜单并完成选择和调用各子函数完成相应功能。2) 房间价格设置模块 函数void Initroom();可以使用预设方案或者手动输入两种方法设置房间价格。3) 入住模块 函数void Deposit_Withdraw();实现存取款的功能,其中会使用相关其他函数共同实现。4) 结账模块 函数float roomcost();根据住房日期计算账单。5) 日期审查模块 函数int istime();实现对日期的审查。4.详细设计4.1数据结构设计根据系统要求,房间信息包括:数据项名称数据项系统表示数据类型数据长度备注房间P1-number整型8房间价格P1-price双精度16根据系统要求,日期信息包括:数据项名称数据项系统表示数据类型数据长度备注年P1-year整型8月P1-month整型8日P1-day整型8根据系统要求,住房记录包括:数据项名称数据项系统表示数据类型数据长度备注客户P1-name字符串50客户P1-id字符串25日期P1- StartTimeDatetime结构体24结账日期P1- EndTime字符串20房间号P1-number整型8入住天数P1-days整型8费用P1-cost浮点型8为了能实现系统的优越性和c语言的精华采用链表的建立取款记录表,示意图如下。 住房记录1住房记录22通讯录信息1221住房记录3住房记录44.2 模块接口设计1)所有函数声明/-链表的操作-int InitList(LinkList &L);/分配空间int makeLNode(LinkList &L);/插入一个数据int IsertList(LinkList L,LinkList L1);/释放节点int DeList(LinkList L,LinkList p);/寻找第number个数据LinkList LocateNumber(LinkList &L,int number);/-判断函数-/添加客户的入住信息void enterinfo(LinkList &L);/判断退房日期是否小于开房日期int timecmp(datetime t1,datetime t2);/判断时间是否合法bool isroom(LinkList L,LinkList L1);/判断是否是18位bool isid(LinkList L);/判断是否是闰年bool isleap(int year);/判断输入是否符合要求bool istime(char time);/入住void Initroom();/计算住房时间int dates(int month1,int day1,int month2,int day2);/根据住房日期计算账单float roomcost(LinkList p,datetime t);/获得系统日期int gettime(struct tm * &timeinfo);int main(void);2)全局变量1、用room r11;定义了十一个房间。用于存储酒店的是个房间的入住情况。2、用Node *LinkList;定义了一个住房信息链表。用于存放客户的住房信息。3)主要模块的实现1、房间的价格管理。有两种管理模式。第一个,使用预设方案,将所有的房间的价格设置为50元/天,实现:直接给房间信息的结构体数组循环赋值;第二个,手动输入方式,实现:依次循环十个房间信息的价格属性进行赋值。2、客户入住。首先调用makeLNode(LinkList);分配一个新节点的空间,然后在这个节点里面输入客户入住信息。输入完了之后,逐一对入住时间(istime(LinkList-EndTime)),客户(isid(LinkList)),房间是否为空进行判断(isroom(L,LinkList)),若有一项不满足,则重新输入。全部满足,则入住成功。3、客户结账。首先,输入需要结账的房间,从住房链表中找到相关信息(p = LocateNumber(L,number);)。然后根据入住时间,结账时间还有房间单价,进行账单(cost = roomcost(p,t);)的运算并输出。4.3主要功能模块的流程图1) 系统初始化模块显示欢迎信息菜单输入选项执行功能2) 房间价格输入模块显示主菜单填写房间价格输入选项预设方案手动输入所有房间价格定为50循环输入10个房间的价格结束3) 入住模块输入入住人的信息结束输入入住房间房间空?成功日期合法?输入预计退房日期是否否是4) 结账模块输入结账房间号结算金额房间正确?结束否是5) 日期审查模块输入日期长度为10?第5位和第8位是-?提取字符串中的数值,分离出年,月,日根据年,月,日判断日期逻辑是否正确正确?返回0返回1是是是否否否5.运行结果5.1 欢迎界面5.2 主菜单5.3 次菜单-信息输入界面5.4 信息查询界面5.5记录查询界面5.6退出界面6.程序调试与测试测试数据:客户编号客户客户地址客户账户余额账户密码1唐僧东土大唐88888880100000088888882悟空花果山8888888110000088888883猪八戒高老庄888888821000088888884沙和尚流沙河88888883100088888885佛祖西天8888888410000000088888886.1 主菜单选择测试若用户输入错误选项,则如图显示:
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号