基于dos菜单的应用程序

基于dos菜单的应用程序

ID:9389743

大小:229.00 KB

页数:17页

时间:2018-04-29

基于dos菜单的应用程序_第1页
基于dos菜单的应用程序_第2页
基于dos菜单的应用程序_第3页
基于dos菜单的应用程序_第4页
基于dos菜单的应用程序_第5页
资源描述:

《基于dos菜单的应用程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、算法与数据结构课程设计报告系(院):计算机科学学院专业班级:计科11005姓名:学号:指导教师:设计时间:2012.6.11-2012.6.18设计地点:12教机房16目录一、课程设计目的2二、设计任务及要求2三、需求分析2四、总体设计4五、详细设计与实现[含代码和实现界面]8六、课程设计小结·····························1516一.设计目的1.能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问

2、题的有效算法。2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。3.初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。5.培养根据选题需要选择学习书籍,查阅文献资料的自学能力。二.设计任务及要求根据《算法与数据结构》课程的结构体系,设计一个基于DOS菜单的应用程序。要利用多级菜单实现各种功能。比如,主界面是

3、大项,主要是学过的各章的名字诸如线性表、栈与队列、串与数组及广义表等,子菜单这些章中的节或者子节。要求所有子菜单退出到他的父菜单。编程实现时,要用到C++的面向对象的功能。三.需求分析16菜单运用极其广泛,应用于各行各业。菜单运用起来极其方便。随着社会的发展,社会的行业出现多样化,也就需要各式各样的菜单。这就需要设计人员十分精细的设计。进一步了解《算法与数据结构》课程的知识结构体系,绘制整个课程的知识结构逻辑示意图,类似于:排序查找图树串、数组、广义表栈和队列线性表数据结构课程设计最小生成树关键路径冒泡排序插

4、入排序快速排序shell排序最短路径矩阵乘法矩阵转置删除元素插入元素创建链表查找元素应用广义表希哈查找技术二叉搜索树折半查找顺序查找树的表达形式Huffman压缩解压二叉树括号匹配进制转换十进制转八进制十进制转二进制退出解压文件压缩文件根据算法与数据及结构的课程安排,可以设计如上所示的菜单。在主菜单里可以有“线性表”、“栈和队列”、“串、数组、广义表”、“树”、“图”、“查找”、“排序”。然后要在线性表里创建一个子菜单实现“创建链表”、“插入元素”、“删除元素”、“16查找元素”的功能。并且可以退出这个子菜单

5、回到上一级菜单。栈和队列创建一个子菜单,包含进制转换和括号匹配的功能。进制转换里又分为十进制转八进制、十进制转二进制。串、数组、广义表里可以创建子菜单包含矩阵乘法、矩阵转置的功能。树里创建子菜单,有树的创建、先序遍历、中序遍历、后序遍历、树的高度、叶子数这几个选项。这些子菜单都能退出回到上一级菜单。四.总体设计设计菜单类根据实际使用,我们知道菜单类的主要功能就是显示菜单项与响应用户选项。所以我们可以这样设计一个菜单基类:classCMenuBase{public:CMenuBase(void);~CMenuB

6、ase(void);virtualvoidShowMenu()=0;virtualvoidEvent(intEvenID)=0;protected:CMenuBase*m_pParent;};根据所绘制的知识结构图,设计DOS菜单。例如在此基础上,所有菜单类都继承这个类,以此来实现“显示”与“16响应事件”的多态性。例如,主菜单类的设计为:classCMainMenu:publicCMenuBase{public:CMainMenu(void);~CMainMenu(void);virtualvoidShow

7、Menu();virtualvoidEvent(intEvenID);};和基类基本没有区别。其实现可以为voidCMainMenu::ShowMenu(){cout<<"**************《数据结构课程设计》*****************";cout<<"*1线性表2栈与队列3串、数组和广义表*";cout<<"*4树5图6查找*";cout<<"*7排序8退出*";cout<<"***********************************************

8、****";}voidCMainMenu::Event(intEvenID){CMenuBase*tmp;switch(EvenID){caseID_LIST:SUBMENU(CListMenu)break;caseID_STACK_QUEUE:SUBMENU(CStackMenu)break;caseID_EXIT:MAIN_EXIT=true;break;default:Invalidate

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。