数据结构课程设计步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计C++版实现步骤:
Step1 用VS新建一个基于Console Application 的DOS工程Step2 用以下代码替换main函数所在文件中的所有代码
#include"stdafx.h"
#include
usingnamespace std;
#include"MenuBase.h"
#include"LinkList.h"
CMenuBase*pBase;
LinkList*pList;
void main()
{
pBase=new CMainMenu;
int EventID=0;
char CammandLine[255]={0};
while(pBase){
pBase->ShowMenu();
cin>>CammandLine;
if(strlen(CammandLine)==0){
cout<<"非¤?法¤¡§操¨´作Á¡Â,ê?非¤?正y常¡ê退ª?出?\n";
break;
}
EventID=atoi(CammandLine);
pBase->Event(EventID);
}
if(pList)
delete pList;
}
void InvalidateAction()
{
cout<<"非¤?法¤¡§输º?入¨?\n";
}
Step3 新建一个头文件def.h,其代码为
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedefint Status;
#define NULL 0
Step4 新建一个头文件resource.h,其代码为
//
#define ID_LIST 1
#define ID_STACK_QUEUE 2
#define ID_STR_ARR_GL 3
#define ID_TREE 4
#define ID_GRAPH 5
#define ID_SEARCH 6
#define ID_SORT 7
#define ID_EXIT 8
#define ID_CREATE_LIST 1
#define ID_LIST_INSERT 2
#define ID_LIST_FIND 3
#define ID_LIST_DELET 4
#define ID_LIST_SHOW 5
#define ID_LIST_RETURN 6
//
#define SUBMENU(submenu) pBase=new submenu(pBase);
#define EXIT_SUBMENU tmp=m_pParent;\
delete pBase;\
pBase=tmp;
void InvalidateAction();
Step5 新建一个头文件MenuBase.h,其代码为
#pragmaonce
class CMenuBase
{
public:
CMenuBase(void);
~CMenuBase(void);
virtualvoid ShowMenu()=0;
virtualvoid Event(int EvenID)=0;
protected:
CMenuBase* m_pParent;
};
class CMainMenu:public CMenuBase
{
public:
CMainMenu(void){};
~CMainMenu(void){};
virtualvoid ShowMenu();
virtualvoid Event(int EvenID);
};
class CListMenu:public CMenuBase
{
public:
CListMenu(CMenuBase*);
~CListMenu(void);
virtualvoid ShowMenu();
virtualvoid Event(int EvenID);
protected:
void OnCreateList();
void OnListInsert();
void OnListShow();
};
Step6 新建一个源文件MenuBase.cpp,其代码为
#include"StdAfx.h"
#include"MenuBase.h"
#include"resource.h"
#include
usingnamespace std;
extern CMenuBase*pBase;
CMenuBase::CMenuBase(void):m_pParent(NULL)
{
}
CMenuBase::~CMenuBase(void)
{
}
//CMainMenu
void CMainMenu::ShowMenu(){
cout<<"\n **************《数据结构课程设计》*****************\n";
cout<<" * 1 线性表2 栈与队列 3 串、数组和义表 *\n";
cout<<" * 4 树 5 图 6 查找 *\n";
cout<<" * 7 排序 8 退出 *\n";
cout<<" ***************************************************\n"; }
void CMainMenu::Event(int EvenID){
CMenuBase*tmp;
switch(EvenID){
case ID_LIST:
SUBMENU(CListMenu)
break;
case ID_STACK_QUEUE:
break;
//…-…-…-…-…-…-…-
case ID_EXIT:
delete pBase;
pBase =0;
break;
default:
InvalidateAction();
break;
}
}
//CMainMenu END
//CListMenu
#include"LinkList.h"
extern LinkList*pList;
CListMenu::CListMenu(CMenuBase*parent){
m_pParent=parent;
}
void CListMenu::ShowMenu(){
cout<<" ************《线性表》*************\n";
cout<<" * 1 创建线性表 2 插入元素 *\n";
cout<<" * 3 查找元素 4 删除元素 *\n";