数据结构与算法课程设计实验报告
目录
一、 实验问题描述-------------------------2
二、 实验需求分析-------------------------3
三、 软件概要设计-------------------------4
四、 软件详细设计-------------------------5
五、 编码与调试分析----------------------14
六、 程序运行操作说明--------------------15
七、 测试结果----------------------------16
八、 课程设计心得体会--------------------18
九、 自主学习参考文献--------------------19
1
数据结构与算法课程设计实验报告
一、实验问题描述:
本课程设计的目的就是要达到能够灵活运用程序设计基础所讲授内容,能够针对一个需求比较明确的小型软件,设计合理的解决方案,并能够用编程语言转化为可执行程序,以解决实际问题。进一步掌握开发一个小型实用软件系统的基本步骤和方法、进一步培养良好的编程习惯、提升学习能力,熟练掌握数据结构中所学知识,并加以运用到实际软件开发中去,掌握调试代码的基本方法,通过调试找出BUG出现的地方以及原因,并运用正确的方法进行DEBUG。
设银行有四个服务窗口,一个等待队列, 每个窗口均可以办理存款、取款、挂失、还贷业务,每种业务所需的服务时间不同,客户到达银行后,先到打号机上打号,号票上包括到达时间、编号和需要办理的业务,然后在银行内等候, 当任一服务窗口空闲时,处理等候客户中排在最前面的客户的业务。写一个上述银行业务的模拟系统,通过模拟方法求出客户在银行内逗留的平均时间和每个窗口办理的客户数及办理的每种业务数。
基本要求:
每个客户到达银行的时间和需要办理的业务随机产生,输出一天客户在银行的平均逗留时间和每个窗口每天办理的客户数和每种业务数。
提高要求:
设计图形用户界面,模拟中国银行真实的打号机操作界面,当用户选择一种业务后,要提示用户排在前面的人数。
测试数据:营业时间为8小时,其他模拟量自行设定。
每个人在生活中都会随时随地的和银行业务接触,因而也造成了银行工作人员的业务繁忙,同时大量的办理业务客户的出现也扰乱了银行秩序。因此在实际生活中需要的前提下,诞生银行业务办理系统是必然的。每个客户到达银行后自行到打号机前打取自己的票号,从而就产生了一个银行业务办理等待队列,每个客户都根据自己的小票信息在银行等待办理自己的业务,从而有效地解决了客户多引起的秩序混乱,当某个窗口空闲时,等待队列中的最前一个客户就到当前空闲的窗口办理自己的业务,后面的客户继续等待,直到再一个空闲窗口出现。通过对以上功能的实现,从而在实际生活中解决了人们日常生活中的银行业务办理需求,解决生活中的实际问题,方便人们的生活和工作,提高办事效率和生活质量。
二、实验需求分析:
2.1、软件的基本功能
银行有四个服务窗口,一个等待队列, 每个窗口均可以办理存款、取款、挂失、还贷业务,每种业务所需的服务时间不同,客户到达银行后,先到打号机上打号,号票上包括到达时间、编号和需要办理的业务,然后在银行内等候, 当任一服务窗口空闲时,处理等候客户中排在最前面的客户的业务。银行业务的模拟
2
数据结构与算法课程设计实验报告
系统,通过模拟方法求出客户在银行内逗留的平均时间和每个窗口办理的客户数及办理的每种业务数。设计图形用户界面,模拟中国银行真实的打号机操作界面,当用户选择一种业务后,要提示用户排在前面的人数。
2.2、程序执行时的输入/输出形式
按照程序执行是的界面提示选择操作顺序,若需要执行银行业务模拟,则在菜单选项中选择执行,如果执行成功系统会提示模拟信息生成成功,否则会提示无可查信息;信息生成完成后选择执行显示客户逗留时间,就可以输出当天模拟情况下的总模拟人数,当天银行下班为止总共办理的客户数量,和未办理完业务的客户数量,和客户当天在银行的平均逗留时间;选择显示各窗口业务统计信息可看到当天的四个窗口的业务办理情况,分别办理了那些业务和各种业务的总数;也可按窗口分别显示四个窗口分别办理了那些客户的业务,以及他们的业务办理信息;另外可以手动选择业务并产生相应的到达时间切输出打号的信息。如果输入值与要求不符合,则系统会提示输入数据错误,并重新输入或者结束程序。
2.3、测试数据要求
程序执行时按照既定的数据类型及大小分别输入有效数据,若出现输入数据与既定数据类型及大小不符合则输出错误提示并选择执行下一步。
三、软件概要设计:
(1)抽象数据类型:
根据题目的要求,考虑用队列类型比较适合。 ADT Queue Data
队列中元素具有相同类型及先进先出特性,相邻元素具有前驱和后继关系 Operation InitQueue
前置条件:队列不存在
输入:无
功能:初始化队列 输出:无
后置条件:创建一个空队列
DestroyQueue
前置条件:队列已存在
3
数据结构与算法课程设计实验报告
输入:无
功能:销毁队列 输出:无
后置条件:释放队列所占用的存储空间
EnQueue
前置条件:队列已存在
输入:元素值x
功能:入队操作,在队尾插入一个元素x 输出:如果插入不成功,抛出异常
后置条件:如果插入成功,队尾增加了一个元素 DeQueue
前置条件:队列已存在 输入:无
功能:出对操作,删除对头元素
输出:如果删除成功,返回被删元素值,否则,抛出异常 后置条件:如果删除成功,对头减少了一个元素 GetQueue
前置条件:队列已存在
输入:无
功能:读取当前的对头元素
输出:若队列不空,返回当前的对头元素值 后置条件:队列不变
Empty
前置条件:队列已存在 输入:无
功能:判断队列是否为空
输出:如果队列为空,返回1;否则,返回0 后置条件:队列不变
End ADT
4
数据结构与算法课程设计实验报告
(2)主程序流程:
开始 输入数据 判断是否是整型数 输入数据错误 无可查信息 判断是否打号 业务生成成功,请等待 结束 5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库银行业务系统等待队列在线全文阅读。
相关推荐: