山东理工大学计算机学院课程设计任务书及成绩评定.docx
《山东理工大学计算机学院课程设计任务书及成绩评定.docx》由会员分享,可在线阅读,更多相关《山东理工大学计算机学院课程设计任务书及成绩评定.docx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、山东理工工大学计计算机学学院课程设计计(数据结结构)班 级姓名学 号指导教师师二一一一年一月二十日课程设计计任务书书及成绩绩评定课题名称称银行业务务模拟系系统、题目目的目的的和要求求: 1、设计计目的巩固和加加深对数数据结构构的理解解,通过过上机实实验、调调试程序序,加深深对课本本知识的的理解,最终使使学生能能够熟练练应用数数据结构构的知识识写程序序。(1)通通过本课课程的学学习,能能熟练掌掌握几种种基本数数据结构构的基本本操作。(2)能能针对给给定题目目,选择择相应的的数据结结构,分分析并设设计算法法,进而而给出问问题的正正确求解解过程并并编写代代码实现现。2、设计计题目要要求:1.客客户业
2、务务分为两两种:第一种种是申请请从银行行得到一一笔资金金,即取款款或借款;第二种种是向银银行投入入一笔资资金,即存款款或还款款。2.银银行有两两个服务务窗口,相应地地有两个个队列。客户到到达银行行后先排第第一个队队。处理每每个客户户业务时时,如果属属于第一一种,且申请请额超出出银行现现存资金金总额而而得不到到满足时时,则立即排入入第二个个队等候候,直至满满足时才才离开银银行, 否则则业务处处理完后后立即离开开银行。3.每每接待完完一个第第二种业务务的客户户,则顺序序检查和和处理第第二个队队列中的的客户,对能满满足的申申请者予予以满足足,不能满满足者重重新排到到第二个个队列的的队尾。4.假设设检
3、查不不需要时时间,在在此检查查过程中中,一旦旦银行资资金总额额少于或或等于刚刚才第一一个队列列中最后后一个客客户(第第二种业业务)被被接待之之前的数数额,或者本本次已将将第二个个队列检检查或处处理了一一遍,就停止止检查(因为此此时已不不可能还还有满足足者),转而继继续接待待第一个个队列的的客户。5.任任何时刻刻都只开开一个窗窗口,营营业时间间结束时时所有客客户立即即离开银银行。通通过离散散的模拟拟方法求求出客户户在银行行内逗留留的平均均时间。、设计计进度及及完成情情况日 期期内 容1.100-1.11选取参考考书,查查阅有关关文献资资料,完完成资料料搜集和和系统分分析工作作。1.1221.14
4、创建相关关数据结结构,录录入源程程序。1.1771.19调试程序序并记录录调试中中的问题题,初步步完成课课程设计计报告。1.2001.21上交课程程设计报报告打印印版并进进行课程程设计答答辩,要要求每个个同学针针对自己己的设计计回答指指导教师师3-44个问题题。考核结束束后将课课程设计计报告和和源程序序的电子子版交班班长统一一刻光盘盘上交。、主要要参考文文献及资资料1 严蔚敏敏 数据据结构(C语言言版)清清华大学学出版社社 199992 严蔚敏敏 数据据结构题题集(CC语言版版)清华华大学出出版社 199993 谭浩强强 CC语言程程序设计计 清清华大学学出版社社4 与所用用编程环环境相配配套
5、的CC语言或或C+相关的的资料、成绩绩评定:设计成绩绩:(教教师填写写)指导老师师:(签签字)二一一一年一月二十一日目 录录第一章概概述1第二章系系统分析析2第三章概概要设计计3第四章详详细设计计6第五章运运行与测测试244第六章总总结与心心得288参考文献献:29第一章 概述课程设计计是实践践性教学学中的一一个重要要环节,它以某某一课程程为基础础,可以以涉及和和课程相相关的各各个方面面,是一一门独立立于课程程之外的的特殊课课程。课课程设计计是让同同学们对对所学的的课程更更全面的的学习和和应用,理解和和掌握课课程的相相关知识识。数数据结构构是一一门重要要的专业业基础课课,是计计算机理理论和应应
6、用的核核心基础础课程。数据结构构课程设设计,要要求学生生在数据据结构的的逻辑特特性和物物理表示示、数据据结构的的选择和和应用、算法的的设计及及其实现现等方面面,加深深对课程程基本内内容的理理解。同同时,在在程序设设计方法法以及上上机操作作等基本本技能和和科学作作风方面面受到比比较系统统和严格格的训练练。在这次的的课程设设计中我我选择的的题目是是银行业业务模拟拟系统。一般某个个银行在在某个地地区营业业前,都都要进行行市场调查查与分析析。通过过调查,分析开开多少个个窗口使使效率最最高,而而且不会会产生较较大的冗冗余。做做此项调调查通常常要花费费大量的的人力物物力,因因此我借借助计算算机系统统产生的
7、的随机数数(时间间间隔,每个客客户办理理的款数数以及处处理时间间)对银行客客户的离离散事件件进行预预测,通通过银行行业务模模拟系统统计算出出客户在在银行逗逗留的总总时间并并计算出出客户在在银行的的平均逗逗留时间间。通过过计算机机模拟的的方法减减少实际际调查的的劳动量量,资金金及时间间耗费,轻松的的得到高高效的方方法。第二章 系统分分析1银行行业务模模拟程序序的主要要处理对对象是“事件”,事件件的主要要信息是是事件的的类型和和事件的的发生时时刻。算算法中处处理的事事件有两两类:一一类是客客户到达达事件;另一类类是客户户离开事事件。前前一类事事件发生生的时刻刻随客户户的到来来自然形形成;后后一类事
8、事件发生生的时刻刻由客户户办理业业务所需需时间和和等待时时间而定定。由于于程序驱驱动是按按事件发发生时刻刻的先后后顺序进进行的,所以事事件表应应是有序序表,其其主要操操作是插插入和删删除事件件,用一一个单链链表表示示。2银行行业务模模拟程序序中需要要的另一一数据结结构是表表示客户户排队的的队列,由于假假设银行行有2个窗口口,因此此程序中中需要22个队列列,队列列中有关关客户的的信息是是客户到到达的时时间和客户户办理业业务所需需要的时时间。队队列中的的队头客客户即为为正在窗窗口办理理事务的的客户,他办完完业务离离开队列列的时刻刻影响着着即将发发生的客客户离开开事件的的时刻,我们要要记录前前一客户
9、户的离开开时间。这就是是说,对对每个队队头客户户都存在在一个将将要驱动动的客户户离开事事件。因因此在任任何时刻刻即将发发生的事事伯只有有4种可能能:1)新的客客户到达达;2)队列11队头客客户办完完业务离离开;33)队列列1取款款客户由由于得不不到满足足而转至至队列22;4)队列22队头客客户办完完业务离离开;3. 为为了使编编写的程程序具有有通用性性,在编编程序时时将银行行的营业业时间、初始存存款客户办理理业务的的最长时时间及两两个客户户到达的的最大时间间间隔都都设置成成程序运运行时动动态输入入,但是是客户办办理业务务的时间间和两个个客户到到达的时时间间隔隔用随机机函数产产生的随随机数表表示
10、。这这样可以以对程序序进行理理性的分分析,从从而实现现真正离离散事件件的模拟拟。4.测试试数据。客户的的存取款款金额,不大于于50000元客户办办理业务务所要时时间,不不大于220分钟钟下个客客户到达达的时间间间隔,不大于于30分钟钟当然,系系统的模模拟性能能完全不不受这些些规定的的限制,用户完完全可以以根据实实际需要要作简单单的修改改和调整整而且且以上各各模拟量量均由随随机函数数给出,符合离离散事件件要求第三章 概要设设计1、 银行业务务模拟程程序流程程图结束进入队列1排队服务并离开能否满足客户服务并离开进队2等待接待1个存款业务顺序检查队2能否满足取队头队头是否存在时间到?开始客户到达否
11、否否 是 是是 否2、本程程序包含含三个模模块主程程序模块块:voidd maain() 输出主界界面;选择操作作:进入入银行业务务模拟系系统退退出程序序;Whille(进进入银行行业务模模拟窗口口)OpennForrDayy();进行初初始化操操作;输出格式式控制; 银银行业务务模拟:whille(有有要处理理的事件件时) /有事事件可处处理 DeQuueuee1(); /队列11出队列列,并用用en返返回值 if(客客户到达达)CusttomeerArrrivved(); /处处理客户户到达事事件 elsee CusttomeerDeeparrturre(); /处理客客户离开开事件 计计
12、算出客客户的平平均逗留留时间并并输出返回主界界面:选择操作作:继续续进行业业务模拟拟退出出程序;If(选选择的是是退出)退出程序序;客户到到达事件件处理模模块实现客客户信息息队列的的抽象数数据类型型客户离离开事件件处理模模块实现有有序事件件链表的的抽象数数据类型型3、函数数调用关关系如图所示示:主函数调用客户到达事件处理模块调用客户到达事件处理模块4、设定定客户信信息队列列的抽象象数据类类型定义义:ADT LiinkQQueuue 数据对象象: DD=aai|aaiQueeueEElemm,i=1,22,nn, nn0数据关系系: RR1=|aii-1,aiQueeueEElemm ,ii=2
13、,3, ,n 基本操作作:InittQueeue(&Q)操作结果果:构造造一个空空队列。desttroyyqueeue(&Q)初始条条件:队队列已存存在。操作结结果:销销毁队列列,此队队列不再再存在。EnQuueuee(&QQ,enn)初始条条件:队队列已存存在。操作结结果:新新元素een入队队列。DeQuueuee(&QQ,&een)初始条件件:队列列已存在在。操作结结果:队队头元素素出队列列,并以以en返返回其值值。QueuueLeengtth(QQ)初始条件件:队列列已存在在。操作结果果:返回回队列中中元素的的个数,即队列列长度。 ADDT LinnkQuueuee 第四章 详细设设计1
14、源文文件中所所包含的的头文件件#inccludde #inccludde#inccludde #inccludde2.宏定定义#deffinee MOONEYY 550000 /个个人业务务值,交交易额上上限 #deffinee OKK 1 #deffinee ERRRORR 00 #deffinee OVVERFFLOWW -22 typeedeff innt sstattus;3.定义义的结构构体typeedeff sttrucct innt aarriivettimee; /到达达时间 innt OOccuurTiime; /事件发发生时间间 innt NNTyppe; /事事件类型型,
15、0表表示到达达事件,1表示示离开事事件。同同时用11表示存存款,22表示取取款。 innt dduraatioon; /办办理业务务时间 loong intt mooneyy;/交易金金额Eveent,EleemTyype11;typeedeff sttrucct /等等待队列列元素 innt aarriivettimee; /到达达时间 innt dduraatioon; /办理业业务时间间 loong intt mooneyy; /交易易金额waiit,EElemmTyppe2;typeedeff sttrucct QQNodde1EleemTyype11 daata;strructt Q
16、NNodee1 *nexxt;QNoode11,*QQueuue1;typeedeff sttrucct QQNodde2EleemTyype22 daata;strructt QNNodee2 *nexxt;QNoode22,*QQueuue2;typeedeff sttrucct Quueuee1 ffronnt; Quueuee1 rrearr;LinnkQuueuee1;typeedeff sttrucct Quueuee2 ffronnt; Quueuee2 rrearr;LinnkQuueuee2;4.全局局变量longg innt ttotaal_mmoneey; /银银行现存存
17、资金总总额int tottal_timme; /客户户逗留总总时间int usee_tiime;/每每个顾客客所用时时间int monney;/每每个顾客客办理的的款数int cloosettimee;/银行营营业时间间int INTTERTTIMEE; /下一一用户到到达的时时间间隔隔int DURRATIION; /办理业业务所需需时间int nummberr; /办理业业务的次次序int timme1; /系统统现在时时间LinkkQueeue11 Q11;LinkkQueeue22 Q22;Evennt een; /事件waitt enn1; /列列表2元元素5.初始始化队列列1sta
18、ttus IniitQuueuee1()Q1.froont=Q1.reaar=(Queeue11)maallooc(ssizeeof(QNoode11); if(!Q11.frrontt)exxit(OVEERFLLOW); Q1.froont-neext=NULLL; retturnn OKK;6.初始始化队列列2stattus IniitQuueuee2()Q2.froont=Q2.reaar=(Queeue22)maallooc(ssizeeof(QNoode22); if(!Q22.frrontt)exxit(OVEERFLLOW); Q2.froont-neext=NULLL; re
19、tturnn OKK;7.销毁毁队列11stattus desstrooyquueuee1()whiile(Q1.froont) Q11.reear=Q1.froont-neext; frree(Q1.froont); Q11.frrontt=Q11.reear; retturnn OKK;8.销毁毁队列22stattus desstrooyquueuee2()whiile(Q2.froont) Q22.reear=Q2.froont-neext; frree(Q2.froont); Q22.frrontt=Q22.reear; retturnn OKK;9.队列列1入队队列stattus E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东 理工大学 计算机 学院 课程设计 任务书 成绩 评定
限制150内