本文主要是介绍数据结构课程设计实习报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
复习MFC的相关操作。
-
巩固《数据结构》的基础知识并实现:List, Stack. Sort。
-
熟练调用系统类库,加深对软件本质的理解。
-
理解多态,宏的意义,并运用。
二.设计任务
根据《数据结构》课程设计的结构体系,基于MFC的SDI应用程序。利用树状图实现各级菜单,并实现对应的消息响应。线性表,一元多项式相加,栈的应用,排序都基于对话框。
三.程序结构
1.程序结构图:
2.类图:
3.类关系图
4.FileView和TreeView
用FileView显示数据,TreeView处理消息响应;有代表性的代码如下:
voidCFileView::FillFileView()
{
HTREEITEM hRoot = m_wndFileView.InsertItem(_T("数据结构"),0, 0);
m_wndFileView.SetItemState(hRoot,TVIS_BOLD,TVIS_BOLD);
HTREEITEM hSrc = m_wndFileView.InsertItem(_T("绪论"),0, 0, hRoot);
m_wndFileView.InsertItem(_T("什么是数据结构"),2,2, hSrc);
m_wndFileView.InsertItem(_T("基本概念和术语"),2, 2, hSrc);
m_wndFileView.InsertItem(_T("抽象数据类型的表示和实现"),2,2 ,hSrc);
m_wndFileView.InsertItem(_T("算法和算法分析"),2, 2, hSrc);
m_wndFileView.Expand(hRoot,TVE_EXPAND);
m_wndFileView.Expand(hSrc,TVE_EXPAND);
……
}
voidCViewTree::OnNMClick(NMHDR *pNMHDR,LRESULT *pResult)
{
DWORD dwpos = GetMessagePos();
TVHITTESTINFO ht = { 0 };
ht.pt.x =GET_X_LPARAM(dwpos);
ht.pt.y =GET_Y_LPARAM(dwpos);
::MapWindowPoints(HWND_DESKTOP,pNMHDR->hwndFrom,&ht.pt, 1);
TreeView_HitTest(pNMHDR->hwndFrom, &ht);
CString sel =this->GetItemText(ht.hItem);
#defineJUDGE(x)if(sel==x)
JUDGE(_T("图的定义和术语"))
AfxMessageBox(_T("图:是一种较线性表和树更为复杂的数据结构。结点直接的关系可以是任意的,图中任意两个数据元素之间都可能相关。\n顶点:数据元素。\n弧:两个顶点之间的关系。\n弧头:弧的终端点。\n弧尾:弧的初始点。\n有向图:有指向的图。\n无向图:没有指向的图。\n连通图:任意两个顶点都连通。"));
JUDGE(_T("线性表的顺序表示和实现"))
{
CListDLg*m_listDlg =newCListDLg();
m_listDlg->DoModal();
}
JUDGE(_T("线性表的链式表示和实现"))
{
CListDLg*m_SqListDlg =newCListDLg();
m_SqListDlg->DoModal();
}
JUDGE(_T("一元多项式的表示及相加"))
{
CPolynomialDlg*m_pPolynomialDlg =newCPolynomialDlg();
m_pPolynomialDlg->DoModal();
}
JUDGE(_T("栈的应用举例"))
{
CUSESTACK*m_stackDlg =newCUSESTACK();
m_stackDlg->DoModal();
JUDGE(_T("插入排序"))
{
CSortDlg*sortDlg =newCSortDlg();
sortDlg->DoModal();
}
……
}
5.ListDlg
voidCListDLg::OnBnClickedButtonCreate()
{
UpdateData(TRUE);
GetDlgItemTextW(IDC_EDIT_ITEMOFCREATE, m_itemOfCreate);
for (int i = 0; i < m_itemOfCreate.GetLength(); i=i+2)
{
CStringstr(m_itemOfCreate.GetAt(i));
List.push_back(_wtoi(str));
}
//length
这篇关于数据结构课程设计实习报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!