| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

C++语言程序设计稿件管理数据系统

文***享

贡献于2019-06-07

字数:26197

XX学

科生课程设计(实践)务书设计报告
(C++语言程序设计)



题 目
稿件理数系统
学生姓名

指导教师

学 院

专业班级

学生学号






计算机基础教学实验中心
20XX年 X 月 X 日
目 录

设计务书……………………………………………3

课程实践报告…………………………………………4
实践容…………………………………………………………4

二实践成果…………………………………………………………4

三程序功…………………………………………………………4

四设计思路…………………………………………………………5

五源程序……………………………………………………………7

六运行情况…………………………………………………………13

七实践心…………………………………………………………16

八实践收获足…………………………………………………18
C++语言程序设计务书
指导老师:
课程编号:

学时学分
学时:40
学分:2

二实践目
计算机实践科计算机基础教学重环节巩固学生计算机基础知识增强学生计算机应水改善学生知识结构具重意义

三实践务求
C++语言编程编程题目:
()统计班(35)学生成绩求实现功:
(1)输入学生学号6门课程成绩
(2)计算学生均分总分
(3)总分高低排出名次名次输出学生情况包括学号科成绩均分总分
(4)根户求输出某门课程(键盘输入课程号)成绩90分(含90分)总分前5名学生情况包括学号科成绩均分总分(5)根统计绘制总成绩五分制百分饼图(学利C++提供库函数绘制曲线图)

求:
利类实现学生学号成绩采文件输入排序 数组织采象数组 查阅相关资料写出系统设计说明书写出实践报告
(二)统计商品销售数求菜单实现功:
(1)输入件商品名称编号入库日期标价成
(2)输入件商品售价出售日期
(3)总销售量高低排出种商品名称售出件数销售额
(4)根户求输出某商品某月(键盘输入商品名称月份)均售价售出件数总利润(5)根统计绘制商品销售利润百分饼图(学利C++提供库函数绘制曲线图)

求:
利类实现数采文件输入排序 数组织采象数组 查阅相关资料写出系统设计说明书写出实践报告
(三)统计足球赛数求菜单实现功:
(1)输入场赛队名称客队名称赛日期队分客队分

(2)总分高低排出队名称总分胜负次数
(3)根户求输出某队某月(键盘输入队名月份)赛数(4)根户求输出某队场总分客场总分(5) 根户输入绘制某队成绩历史趋势图(学利C++提供库函数绘制曲线图)

求:
利类实现数采文件输入排序 数组织采象数组 查阅相关资料写出系统设计说明书写出实践报告
(四)统计稿件理数求菜单实现功:
(1)输入件稿件第作者名字稿件名称投稿日期作者省份

(2)输入件稿件发表日期审稿意见(3)作者省份高低排出省总发表篇数
(4)根户求输出某作者某月(键盘输入作者名月份)稿件数 (5) 根户输入绘制稿件省份百分饼图(学利C++提供库函数绘制曲线图)

求:
利类实现数采文件输入排序 数组织采象数组 查阅相关资料写出系统设计说明书写出实践报告
(五)统计电理数求菜单实现功:
(1)输入电表户名楼栋号抄表日期电表读数

(3)作者电量高低排出户总电量
(3)根户求输出某户某月(键盘输入户名月份)总电量(4)统计某楼栋某月某月(键盘输入)总电量 (5) 绘制楼栋电百分饼图(学利C++提供库函数绘制曲线图)

求:
利类实现数采文件输入排序 数组织象数组查阅相关资料写出系统设计说明书写出实践报告
五题选题


四实践纪律
学生遵守实践期间学院基规定外求做:
1.必须规定时间点独立完成务
2.迟早退尤擅缺席
五设计报告求
1. 务书必须作报告第页
2. 报告少3000字:总结实践心实践成果 程序功设计思路(程序流程图)源程序(加必注释)运行情况课程设计收获足等

六时间安排
两周时间

七成绩评定规
成绩分优良中格格五等
优:程序功完备报告深度 遵守实践纪律
良:程序功满足求报告容 遵守实践纪律
中:程序报告基满足求 遵守实践纪律
格:程序错误体运行报告书 基遵守实践纪律
格:程序完全错误严重违反实践纪律
C++语言程序设计报告
实践容
统计稿件理数求菜单实现功:
(1)输入件稿件第作者名字稿件名称投稿日期作者省份

(2)输入件稿件发表日期审稿意见(3)作者省份高低排出省总发表篇数
(4)根户求输出某作者某月(键盘输入作者名月份)稿件数 (5) 根户输入绘制稿件省份百分饼图(学利C++提供库函数绘制曲线图)



二实践成果

灵活运C++程序设计课程学基础知识独立设计型程序力该程序必须户界面友操作简洁方便提高工作效率
程序先户输入数存储作种功处理整程序基实现稿件理数系统统计

三 程序功

a) 录入功:写入关稿件基信息进行项功
b) 排序功:户作者省份省总发表篇数进行排序输出
c) 查询功:户根作者月份查出某作者某月稿件数没找予提示
d) 绘制饼状图功:系统根输入数绘制高价男生份百分饼图
e) 项退出功:环节里设退出功


四设计思路

统计稿件理数系统程序框图



开始

输出菜单提示信息

1
输入稿件第作者名字稿件名称投稿日期作者省份
2
输入件稿件发表日期审稿意见
3
省份排序
输入功数字

4
作者名月份查找
5
绘制百分饼状图
1


N

2

Y
N


3

AddNew()
Y
N

4

N

N

Y

AddNew()
Y
5

退出

Sort_by_province()

Y


N

DoFind()





Do print()






结束







五源程序
LeftViewcpp implementation of the CLeftView class

#include stdafxh
#include Odbch
#include OdbcDoch
#include LeftViewh
#include MainFrmh
#include OdbcViewh
#include CpbmSeth
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] __FILE__
#endif

CLeftView
IMPLEMENT_DYNCREATE(CLeftView CTreeView)
BEGIN_MESSAGE_MAP(CLeftView CTreeView){{AFX_MSG_MAP(CLeftView)
ON_NOTIFY_REFLECT(TVN_SELCHANGED OnSelchanged)}}AFX_MSG_MAP
Standard printing commands
ON_COMMAND(ID_FILE_PRINT CTreeViewOnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT CTreeViewOnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW CTreeViewOnFilePrintPreview)
END_MESSAGE_MAP()

CLeftView constructiondestruction
CLeftViewCLeftView()
{ TODO add construction code here}
CLeftView~CLeftView()
{
}
BOOL CLeftViewPreCreateWindow(CREATESTRUCT& cs)
{
TODO Modify the Window class or styles here by modifying
the CREATESTRUCT cs
csstyle | TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_SHOWSELALWAYS
return CTreeViewPreCreateWindow(cs)
}

CLeftView drawing
void CLeftViewOnDraw(CDC* pDC)
{
COdbcDoc* pDoc GetDocument()
ASSERT_VALID(pDoc) TODO add draw code for native data here
}

CLeftView printing
BOOL CLeftViewOnPreparePrinting(CPrintInfo* pInfo)
{
default preparation
return DoPreparePrinting(pInfo)
}
void CLeftViewOnBeginPrinting(CDC* *pDC* CPrintInfo* *pInfo*)
{
TODO add extra initialization before printing
}
void CLeftViewOnEndPrinting(CDC* *pDC* CPrintInfo* *pInfo*)
{
TODO add cleanup after printing
}
void CLeftViewOnInitialUpdate()
{
CTreeViewOnInitialUpdate()
TODO You may populate your TreeView with items by directly accessing
its tree control through a call to GetTreeCtrl()
创建图列表
m_ImageListCreate( 20 20 ILC_COLOR16 4 1 )
图象列表添加4图标
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR1))
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR2) )
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR3) )
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR4) )
取Tree控件指出树结点图标m_ImageList中取
CTreeCtrl &m_TreeCtrl GetTreeCtrl()
m_TreeCtrlSetImageList( &m_ImageList TVSIL_NORMAL )
HTREEITEM hItem0 hItem1 hItem2
TV_INSERTSTRUCT tvstruct
tvstructhParentNULL
tvstructitemlParam0
tvstructitemmaskTVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_TEXT|TVIF_PARAM
tvstructitemiImage0
tvstructitemiSelectedImage0
tvstructitempszText 0000 作者
hItem0 m_TreeCtrlInsertItem(&tvstruct)
CDatabase db
CCpbmSet* pCpbmSet new CCpbmSet(&db)
pCpbmSet>m_strSort fCpbm ASC
if(pCpbmSet>IsOpen())
pCpbmSet>Open()
if(pCpbmSet>IsBOF())
pCpbmSet>MoveFirst()
while(pCpbmSet>IsEOF())
{
CString strTemp1 pCpbmSet>m_fcpbm
CString strTemp2 pCpbmSet>m_fcpmc
strTemp1TrimLeft()
strTemp1TrimRight()
strTemp2TrimLeft()
strTemp2TrimRight()
CString strTemp strTemp1 + + strTemp2
if(strTemp1Right(3) 000)
{
tvstructhParent hItem0
tvstructitemlParam 1
tvstructitemiImage1
tvstructitemiSelectedImage1
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
hItem1 m_TreeCtrlInsertItem(&tvstruct)}
else if(strTemp1Right(2) 00)
{
tvstructhParent hItem1
tvstructitemlParam 2
tvstructitemiImage2
tvstructitemiSelectedImage2
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
hItem2 m_TreeCtrlInsertItem(&tvstruct)
}
else
{
tvstructhParent hItem2
tvstructitemlParam 3
tvstructitemiImage3
tvstructitemiSelectedImage3
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
m_TreeCtrlInsertItem(&tvstruct)
}pCpbmSet>MoveNext()
}
pCpbmSet>Close()
delete pCpbmSet
}

CLeftView diagnostics
#ifdef _DEBUG
void CLeftViewAssertValid() const
{
CTreeViewAssertValid()
}
void CLeftViewDump(CDumpContext& dc) const
{
CTreeViewDump(dc)
}
COdbcDoc* CLeftViewGetDocument() nondebug version is inline
{
ASSERT(m_pDocument>IsKindOf(RUNTIME_CLASS(COdbcDoc)))
return (COdbcDoc*)m_pDocument
}
#endif _DEBUG

CLeftView message handlers
void CLeftViewOnSelchanged(NMHDR* pNMHDR LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView (NM_TREEVIEW*)pNMHDR
TODO Add your control notification handler code here
CTreeCtrl &m_TreeCtrl GetTreeCtrl()
HTREEITEM CurItem m_TreeCtrlGetSelectedItem()
TVITEM TreeCtrlItem
TreeCtrlItemhItem CurItem
m_TreeCtrlGetItem(&TreeCtrlItem)
CString tempString TreeCtrlItempszText
CString tempString m_TreeCtrlGetItemText(m_TreeCtrlGetSelectedItem())
m_strCpbm tempStringLeft(4)
m_nCurlParam TreeCtrlItemlParam
CMainFrame *MainFrame(CMainFrame *) AfxGetMainWnd()
COdbcView * pOdbcView MainFrame>GetRightPane()
pOdbcView>ListBuild()
*pResult 0
}

CpqkSetcpp implementation file

#include stdafxh
#include Odbch
#include CpqkSeth
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] __FILE__
#endif

CCpqkSet
IMPLEMENT_DYNAMIC(CCpqkSet CRecordset)
CCpqkSetCCpqkSet(CDatabase* pdb) CRecordset(pdb)
{
{{AFX_FIELD_INIT(CCpqkSet)
m_fgsbm _T()
m_fcpbm _T()
m_nFields 2
}}AFX_FIELD_INIT
m_nDefaultType snapshot
}
CString CCpqkSetGetDefaultConnect()
{
return _T(ODBCDSNCaie)
}
CString CCpqkSetGetDefaultSQL()
{
return _T([cpqk])
}
void CCpqkSetDoFieldExchange(CFieldExchange* pFX)
{
{{AFX_FIELD_MAP(CCpqkSet)
pFX>SetFieldType(CFieldExchangeoutputColumn)
RFX_Text(pFX _T([fgsbm]) m_fgsbm)
RFX_Text(pFX _T([fcpbm]) m_fcpbm)
}}AFX_FIELD_MAP
}

CCpqkSet diagnostics
#ifdef _DEBUG
void CCpqkSetAssertValid() const
{
CRecordsetAssertValid()
}
void CCpqkSetDump(CDumpContext& dc) const
{
CRecordsetDump(dc)
}
#endif _DEBUG

CpqkSetcpp implementation file


#include stdafxh
#include Odbch
#include CpqkSeth

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] __FILE__
#endif


CCpqkSet
IMPLEMENT_DYNAMIC(CCpqkSet CRecordset)
CCpqkSetCCpqkSet(CDatabase* pdb) CRecordset(pdb)
{
{{AFX_FIELD_INIT(CCpqkSet)
m_fgsbm _T()
m_fcpbm _T()
m_nFields 2
}}AFX_FIELD_INIT
m_nDefaultType snapshot
}
CString CCpqkSetGetDefaultConnect()
{
return _T(ODBCDSNCaie)
}
CString CCpqkSetGetDefaultSQL()
{
return _T([cpqk])
}
void CCpqkSetDoFieldExchange(CFieldExchange* pFX)
{
{{AFX_FIELD_MAP(CCpqkSet)
pFX>SetFieldType(CFieldExchangeoutputColumn)
RFX_Text(pFX _T([fgsbm]) m_fgsbm)
RFX_Text(pFX _T([fcpbm]) m_fcpbm)
}}AFX_FIELD_MAP
}

CCpqkSet diagnostics
#ifdef _DEBUG
void CCpqkSetAssertValid() const
{
CRecordsetAssertValid()
}
void CCpqkSetDump(CDumpContext& dc) const
{
CRecordsetDump(dc)
}
#endif _DEBUG

DqbmSetcpp implementation file

#include stdafxh
#include Odbch
#include DqbmSeth
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] __FILE__
#endif

CDqbmSet
IMPLEMENT_DYNAMIC(CDqbmSet CRecordset)
CDqbmSetCDqbmSet(CDatabase* pdb)
CRecordset(pdb)
{
{{AFX_FIELD_INIT(CDqbmSet)
m_fdqbm _T()
m_fdqmc _T()
m_nFields 2
}}AFX_FIELD_INIT
m_nDefaultType dynaset
}
CString CDqbmSetGetDefaultConnect()
{
return _T(ODBCDSNCaie)
}
CString CDqbmSetGetDefaultSQL()
{
return _T([dqbm])
}
void CDqbmSetDoFieldExchange(CFieldExchange* pFX)
{
{{AFX_FIELD_MAP(CDqbmSet)
pFX>SetFieldType(CFieldExchangeoutputColumn)
RFX_Text(pFX _T([fdqbm]) m_fdqbm)
RFX_Text(pFX _T([fdqmc]) m_fdqmc)
}}AFX_FIELD_MAP
}

CDqbmSet diagnostics
#ifdef _DEBUG
void CDqbmSetAssertValid() const
{
CRecordsetAssertValid()
}
void CDqbmSetDump(CDumpContext& dc) const
{
CRecordsetDump(dc)
}
#endif _DEBUG

DqbmSetcpp implementation file


#include stdafxh
#include Odbch
#include DqbmSeth

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] __FILE__
#endif


CDqbmSet
IMPLEMENT_DYNAMIC(CDqbmSet CRecordset)
CDqbmSetCDqbmSet(CDatabase* pdb) CRecordset(pdb)
{
{{AFX_FIELD_INIT(CDqbmSet)
m_fdqbm _T()
m_fdqmc _T()
m_nFields 2
}}AFX_FIELD_INIT
m_nDefaultType dynaset
}
CString CDqbmSetGetDefaultConnect()
{
return _T(ODBCDSNCaie)
}
CString CDqbmSetGetDefaultSQL()
{
return _T([dqbm])
}
void CDqbmSetDoFieldExchange(CFieldExchange* pFX)
{
{{AFX_FIELD_MAP(CDqbmSet)
pFX>SetFieldType(CFieldExchangeoutputColumn)
RFX_Text(pFX _T([fdqbm]) m_fdqbm)
RFX_Text(pFX _T([fdqmc]) m_fdqmc)
}}AFX_FIELD_MAP
}

CDqbmSet diagnostics
#ifdef _DEBUG
void CDqbmSetAssertValid() const
{
CRecordsetAssertValid()
}
void CDqbmSetDump(CDumpContext& dc) const
{
CRecordsetDump(dc)
}
#endif _DEBUG

LeftViewcpp implementation of the CLeftView class

#include stdafxh
#include Odbch
#include OdbcDoch
#include LeftViewh
#include MainFrmh
#include OdbcViewh
#include CpbmSeth
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] __FILE__
#endif

CLeftView
IMPLEMENT_DYNCREATE(CLeftView CTreeView)
BEGIN_MESSAGE_MAP(CLeftView CTreeView)
{{AFX_MSG_MAP(CLeftView)
ON_NOTIFY_REFLECT(TVN_SELCHANGED OnSelchanged)
}}AFX_MSG_MAP
Standard printing commands
ON_COMMAND(ID_FILE_PRINT CTreeViewOnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT CTreeViewOnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW CTreeViewOnFilePrintPreview)
END_MESSAGE_MAP()

CLeftView constructiondestruction
CLeftViewCLeftView()
{
TODO add construction code here
}
CLeftView~CLeftView()
{
}
BOOL CLeftViewPreCreateWindow(CREATESTRUCT& cs)
{
TODO Modify the Window class or styles here by modifying
the CREATESTRUCT cs
csstyle | TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_SHOWSELALWAYS
return CTreeViewPreCreateWindow(cs)
}

CLeftView drawing
void CLeftViewOnDraw(CDC* pDC)
{
COdbcDoc* pDoc GetDocument()
ASSERT_VALID(pDoc)
TODO add draw code for native data here
}

CLeftView printing
BOOL CLeftViewOnPreparePrinting(CPrintInfo* pInfo)
{
default preparation
return DoPreparePrinting(pInfo)
}
void CLeftViewOnBeginPrinting(CDC* *pDC* CPrintInfo* *pInfo*)
{
TODO add extra initialization before printing
}
void CLeftViewOnEndPrinting(CDC* *pDC* CPrintInfo* *pInfo*)
{
TODO add cleanup after printing
}
void CLeftViewOnInitialUpdate()
{
CTreeViewOnInitialUpdate()
TODO You may populate your TreeView with items by directly accessing
its tree control through a call to GetTreeCtrl()
创建图列表
m_ImageListCreate( 20 20 ILC_COLOR16 4 1 )
图象列表添加4图标
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR1))
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR2) )
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR3) )
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR4) )
取Tree控件指出树结点图标m_ImageList中取
CTreeCtrl &m_TreeCtrl GetTreeCtrl()
m_TreeCtrlSetImageList( &m_ImageList TVSIL_NORMAL )
HTREEITEM hItem0 hItem1 hItem2
TV_INSERTSTRUCT tvstruct
tvstructhParentNULL
tvstructitemlParam0
tvstructitemmaskTVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_TEXT|TVIF_PARAM
tvstructitemiImage0
tvstructitemiSelectedImage0
tvstructitempszText 0000 作者
hItem0 m_TreeCtrlInsertItem(&tvstruct)

CDatabase db
CCpbmSet* pCpbmSet new CCpbmSet(&db)
pCpbmSet>m_strSort fCpbm ASC
if(pCpbmSet>IsOpen())
pCpbmSet>Open()
if(pCpbmSet>IsBOF())
pCpbmSet>MoveFirst()
while(pCpbmSet>IsEOF())
{
CString strTemp1 pCpbmSet>m_fcpbm
CString strTemp2 pCpbmSet>m_fcpmc
strTemp1TrimLeft()
strTemp1TrimRight()
strTemp2TrimLeft()
strTemp2TrimRight()
CString strTemp strTemp1 + + strTemp2
if(strTemp1Right(3) 000)
{
tvstructhParent hItem0
tvstructitemlParam 1
tvstructitemiImage1
tvstructitemiSelectedImage1
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
hItem1 m_TreeCtrlInsertItem(&tvstruct)
}
else if(strTemp1Right(2) 00)
{
tvstructhParent hItem1
tvstructitemlParam 2
tvstructitemiImage2
tvstructitemiSelectedImage2
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
hItem2 m_TreeCtrlInsertItem(&tvstruct)
}
else
{
tvstructhParent hItem2
tvstructitemlParam 3
tvstructitemiImage3
tvstructitemiSelectedImage3
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
m_TreeCtrlInsertItem(&tvstruct)
}
pCpbmSet>MoveNext()
}
pCpbmSet>Close()
delete pCpbmSet
}

CLeftView diagnostics
#ifdef _DEBUG
void CLeftViewAssertValid() const
{
CTreeViewAssertValid()
}
void CLeftViewDump(CDumpContext& dc) const
{
CTreeViewDump(dc)
}
COdbcDoc* CLeftViewGetDocument() nondebug version is inline
{
ASSERT(m_pDocument>IsKindOf(RUNTIME_CLASS(COdbcDoc)))
return (COdbcDoc*)m_pDocument
}
#endif _DEBUG

CLeftView message handlers
void CLeftViewOnSelchanged(NMHDR* pNMHDR LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView (NM_TREEVIEW*)pNMHDR
TODO Add your control notification handler code here
CTreeCtrl &m_TreeCtrl GetTreeCtrl()
HTREEITEM CurItem m_TreeCtrlGetSelectedItem()
TVITEM TreeCtrlItem
TreeCtrlItemhItem CurItem
m_TreeCtrlGetItem(&TreeCtrlItem)

CString tempString TreeCtrlItempszText
CString tempString m_TreeCtrlGetItemText(m_TreeCtrlGetSelectedItem())
m_strCpbm tempStringLeft(4)
m_nCurlParam TreeCtrlItemlParam
CMainFrame *MainFrame(CMainFrame *) AfxGetMainWnd()
COdbcView * pOdbcView MainFrame>GetRightPane()
pOdbcView>ListBuild()
*pResult 0
}

LeftViewcpp implementation of the CLeftView class

#include stdafxh
#include Odbch
#include OdbcDoch
#include LeftViewh
#include MainFrmh
#include OdbcViewh
#include CpbmSeth
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] __FILE__
#endif

CLeftView
IMPLEMENT_DYNCREATE(CLeftView CTreeView)
BEGIN_MESSAGE_MAP(CLeftView CTreeView)
{{AFX_MSG_MAP(CLeftView)
ON_NOTIFY_REFLECT(TVN_SELCHANGED OnSelchanged)
}}AFX_MSG_MAP
Standard printing commands
ON_COMMAND(ID_FILE_PRINT CTreeViewOnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT CTreeViewOnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW CTreeViewOnFilePrintPreview)
END_MESSAGE_MAP()

CLeftView constructiondestruction
CLeftViewCLeftView()
{
TODO add construction code here
}
CLeftView~CLeftView()
{
}
BOOL CLeftViewPreCreateWindow(CREATESTRUCT& cs)
{
TODO Modify the Window class or styles here by modifying
the CREATESTRUCT cs
csstyle | TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_SHOWSELALWAYS
return CTreeViewPreCreateWindow(cs)
}

CLeftView drawing
void CLeftViewOnDraw(CDC* pDC)
{
COdbcDoc* pDoc GetDocument()
ASSERT_VALID(pDoc)
TODO add draw code for native data here
}

CLeftView printing
BOOL CLeftViewOnPreparePrinting(CPrintInfo* pInfo)
{
default preparation
return DoPreparePrinting(pInfo)
}
void CLeftViewOnBeginPrinting(CDC* *pDC* CPrintInfo* *pInfo*)
{
TODO add extra initialization before printing
}
void CLeftViewOnEndPrinting(CDC* *pDC* CPrintInfo* *pInfo*)
{
TODO add cleanup after printing
}
void CLeftViewOnInitialUpdate()
{
CTreeViewOnInitialUpdate()
TODO You may populate your TreeView with items by directly accessing
its tree control through a call to GetTreeCtrl()
创建图列表
m_ImageListCreate( 20 20 ILC_COLOR16 4 1 )
图象列表添加4图标
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR1))
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR2) )
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR3) )
m_ImageListAdd(AfxGetApp()>LoadIcon(IDI_CAR4) )
取Tree控件指出树结点图标m_ImageList中取
CTreeCtrl &m_TreeCtrl GetTreeCtrl()
m_TreeCtrlSetImageList( &m_ImageList TVSIL_NORMAL )
HTREEITEM hItem0 hItem1 hItem2
TV_INSERTSTRUCT tvstruct
tvstructhParentNULL
tvstructitemlParam0
tvstructitemmaskTVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_TEXT|TVIF_PARAM
tvstructitemiImage0
tvstructitemiSelectedImage0
tvstructitempszText 0000 作者
hItem0 m_TreeCtrlInsertItem(&tvstruct)
CDatabase db
CCpbmSet* pCpbmSet new CCpbmSet(&db)
pCpbmSet>m_strSort fCpbm ASC
if(pCpbmSet>IsOpen())
pCpbmSet>Open()
if(pCpbmSet>IsBOF())
pCpbmSet>MoveFirst()
while(pCpbmSet>IsEOF())
{
CString strTemp1 pCpbmSet>m_fcpbm
CString strTemp2 pCpbmSet>m_fcpmc
strTemp1TrimLeft()
strTemp1TrimRight()
strTemp2TrimLeft()
strTemp2TrimRight()
CString strTemp strTemp1 + + strTemp2
if(strTemp1Right(3) 000)
{
tvstructhParent hItem0
tvstructitemlParam 1
tvstructitemiImage1
tvstructitemiSelectedImage1
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
hItem1 m_TreeCtrlInsertItem(&tvstruct)
}
else if(strTemp1Right(2) 00)
{
tvstructhParent hItem1
tvstructitemlParam 2
tvstructitemiImage2
tvstructitemiSelectedImage2
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
hItem2 m_TreeCtrlInsertItem(&tvstruct)
}
else
{
tvstructhParent hItem2
tvstructitemlParam 3
tvstructitemiImage3
tvstructitemiSelectedImage3
tvstructitempszText (LPTSTR)(LPCTSTR)strTemp
m_TreeCtrlInsertItem(&tvstruct)
}
pCpbmSet>MoveNext()
}
pCpbmSet>Close()
delete pCpbmSet
}

CLeftView diagnostics
#ifdef _DEBUG
void CLeftViewAssertValid() const
{
CTreeViewAssertValid()
}
void CLeftViewDump(CDumpContext& dc) const
{
CTreeViewDump(dc)
}
COdbcDoc* CLeftViewGetDocument() nondebug version is inline
{
ASSERT(m_pDocument>IsKindOf(RUNTIME_CLASS(COdbcDoc)))
return (COdbcDoc*)m_pDocument
}
#endif _DEBUG

CLeftView message handlers
void CLeftViewOnSelchanged(NMHDR* pNMHDR LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView (NM_TREEVIEW*)pNMHDR
TODO Add your control notification handler code here
CTreeCtrl &m_TreeCtrl GetTreeCtrl()
HTREEITEM CurItem m_TreeCtrlGetSelectedItem()
TVITEM TreeCtrlItem
TreeCtrlItemhItem CurItem
m_TreeCtrlGetItem(&TreeCtrlItem)
CString tempString TreeCtrlItempszText
CString tempString m_TreeCtrlGetItemText(m_TreeCtrlGetSelectedItem())
m_strCpbm tempStringLeft(4)
m_nCurlParam TreeCtrlItemlParam
CMainFrame *MainFrame(CMainFrame *) AfxGetMainWnd()
COdbcView * pOdbcView MainFrame>GetRightPane()
pOdbcView>ListBuild()
*pResult 0
}

*++
Copyright (c) 19971998 Microsoft Corporation
Module Name
basetsdh
Abstract
Type definitions for the basic sized types
Author
Jeff Havens (jhavens) 23Oct1997
Revision History
*
#ifndef _BASETSD_H_
#define _BASETSD_H_
#ifdef __cplusplus
extern C {
#endif

The following types are guaranteed to be signed and 32 bits wide

typedef int LONG32 *PLONG32
typedef int INT32 *PINT32

The following types are guaranteed to be unsigned and 32 bits wide

typedef unsigned int ULONG32 *PULONG32
typedef unsigned int DWORD32 *PDWORD32
typedef unsigned int UINT32 *PUINT32

The INT_PTR is guaranteed to be the same size as a pointer Its
size with change with pointer size (3264) It should be used
anywhere that a pointer is cast to an integer type UINT_PTR is
the unsigned variation

HALF_PTR is half the size of a pointer it intended for use with
within strcuture which contain a pointer and two small fields
UHALF_PTR is the unsigned variation

#ifdef _WIN64
typedef __int64 INT_PTR *PINT_PTR
typedef unsigned __int64 UINT_PTR *PUINT_PTR
#define MAXINT_PTR (0x7fffffffffffffffI64)
#define MININT_PTR (0x8000000000000000I64)
#define MAXUINT_PTR (0xffffffffffffffffUI64)
typedef unsigned int UHALF_PTR *PUHALF_PTR
typedef int HALF_PTR *PHALF_PTR
#define MAXUHALF_PTR (0xffffffffUL)
#define MAXHALF_PTR (0x7fffffffL)
#define MINHALF_PTR (0x80000000L)
#pragma warning(disable4311) type cast truncation
#if defined(__midl)
__inline
unsigned long
HandleToUlong(
void *h
)
{
return((unsigned long) h )
}
__inline
unsigned long
PtrToUlong(
void *p
)
{
return((unsigned long) p )
}
__inline
unsigned short
PtrToUshort(
void *p
)
{
return((unsigned short) p )
}
__inline
long
PtrToLong(
void *p
)
{
return((long) p )
}
__inline
short
PtrToShort(
void *p
)
{
return((short) p )
}
#endif
#pragma warning(34311) type cast truncation
#else
typedef long INT_PTR *PINT_PTR
typedef unsigned long UINT_PTR *PUINT_PTR
#define MAXINT_PTR (0x7fffffffL)
#define MININT_PTR (0x80000000L)
#define MAXUINT_PTR (0xffffffffUL)
typedef unsigned short UHALF_PTR *PUHALF_PTR
typedef short HALF_PTR *PHALF_PTR
#define MAXUHALF_PTR 0xffff
#define MAXHALF_PTR 0x7fff
#define MINHALF_PTR 0x8000
#define HandleToUlong( h ) ((ULONG) (h) )
#define PtrToUlong( p ) ((ULONG) (p) )
#define PtrToLong( p ) ((LONG) (p) )
#define PtrToUshort( p ) ((unsigned short) (p) )
#define PtrToShort( p ) ((short) (p) )
#endif

SIZE_T used for counts or ranges which need to span the range of
of a pointer SSIZE_T is the signed variation

typedef UINT_PTR SIZE_T *PSIZE_T
typedef INT_PTR SSIZE_T *PSSIZE_T

The following types are guaranteed to be signed and 64 bits wide

typedef __int64 LONG64 *PLONG64
typedef __int64 INT64 *PINT64

The following types are guaranteed to be unsigned and 64 bits wide

typedef unsigned __int64 ULONG64 *PULONG64
typedef unsigned __int64 DWORD64 *PDWORD64
typedef unsigned __int64 UINT64 *PUINT64
#ifdef __cplusplus
}
#endif
#endif _BASETSD_H_


六运行情况
1程序Dialog话框

2程序界面

七实践心
课程学程中遇面问题:

1刚开始C++实践理课学时学兴趣高总想着够完全掌握PPT知识做成完美程序着学进展调试程序总出现问题夸张次出现204ERRORS常知道正确期房插入程序块较严格语法规时难接受产生畏难情绪总怕怕学导致没学

2注重理学忽视机编程实践造成笔纸编程奇怪现象特刚开始时开始编译连接手忙脚乱总会出现许错误时程序出现错误更理解该查找错误排错误

3前期学中没抓紧总觉难希通突击搞定课程学事实课程实践时积累时突击前面基础够扎实面险法弥补

4发现期学中急求成总想编写综合性程序老师求次性快完成直接导致编程序时乱法阅读

发现学课程没什窍门采笨技巧:

认真听讲积极思考提高课效率老师课讲述课程实践重点难点听课程够达事半功倍目

动机实践提高动手实时着急通机实践验证学理通机器查找错误巩固概念通提高机促进理学开阔编程思路提高反映效率提高分析问题解决问题锻炼心理素质提高心理承受
第二次计算机实践课程第次网页设计然两次完成务感觉较迷茫课时没认真听C++课程老师讲解学相糟糕设计较程序便请教老师老师建议找模板认真仔细理解懂然根实践容适修改应该没问题
老师话莫鼓励觉滋生傲慢态度模板行嘛事桩啊结果非实践程中碰许麻烦
中省份省总发表篇数进行排序问题刚开始真会弄开始维数组排序太明白询问周边学知道Access导入C++利Access排序功调试成功听讲解便方法学讨学请教时候失方法智慧毕竟全面集体力量强
时运行时老会出现错误发现实里面参数复杂着error提示改实简单结果事实时点102错误全部搞定错误三类:
1 号分号等符号错
2 写等造成应问题
3 变量完全修改
改完执行时发现界面界面略加修改美观少运行功利运行存瑕疵太会弄清回事问学帮助成功解决问题真谢谢
终功告成欣慰次实践中仅弥补C++课落容尤指针块部分然现概念搞懂见程序够理解次C++实践学期学知识总复总实践知道知识点运更知道知识点搞明白实践出真知通次实践系统课第四次回顾猛然觉C++二级考试更握

门课程实践程中更领悟学重性学加强交流便互相时答疑解惑时学会采种形式进行交流仅传统面面进行相互答疑时利网络通百度知道百度文库邮件BBS进行网交流学会绝问题积累

时次实践中开阔眼界开思路阅读关C++编程教程通理解作者C++法提高C++理解方便未C++进步学

八课程设计收获足
选定设计题目学会进行分析理清思路出相应数学模型掌握顶设计方法问题进行模块化领会结构化程序设计方法熟练掌握C++语言基语法灵活运种数类型进步掌握集成环境调试程序修改程序树立正确程序设计思想培养程序设计力创新力学会面象程序设计方法掌握面象程序设计般规律进行程序设计基技训练算法分析设计类设计
通次实践认识C++程序设计门实践性强课程学程序设计仅限纸谈兵许程序方法技巧光听课书学必须通量机实践慢慢积累起程序设计力培养必须实践重天学锻炼机会外通次实践培养做事认真严谨态度
程序设计程序编译运行程中避免会出现会懂方出现程序错误编译运行等种种困难必须非常严谨语句锻炼严谨思维
足:教材例题时感觉明白说明原理掌握机总错误百出掌握理知识远远够

附参考文献:
1C++程序设计实践教程 中国铁道出版社(2008)
2C++程序设计 中国铁道出版社(2008)
3 网载资料 事务理系统

学院:物理科学技术学院
专业班级:物理电子科学类1007班
学号:1404100725姓名:阮静雅
指导老师:李力





文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

C++程序设计学生成绩管理信息系统设计与开发

C++程序设计课程设计说明书题目: 学生成绩管理信息系统设计与开发 学生姓名: 学 号: 院 (系): 理学院 专 业: 数学与应用数学 指导教师: 2011 年 X

文***品 3年前 上传608   0

2022年电大C++语言程序设计考试题库及答案

一、单选题1. 在定义函数的格式类型修饰符 函数名 (形式参数表)函数体;中,函数体可以是( )。A、基本语句 B、复合语句C、空语句 D、语句序列2.A>B&&A<=B的值( )。A、为true B、为falseC、与A>B 的值相同 D、与A<=B的值相同3.每一个实在参数就是一个( )。

海***9 2年前 上传608   0

c++超市管理系统课程设计报告

c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在,只需修改存货数;若不存在,需增加新纪录。B、售出:输入商品编号,修改相应的存货数与销售额。C、查询:查询商品,销售额。

文***品 2年前 上传552   0

C++语言课程设计一迷你高尔夫

C++语言课程设计一迷你高尔夫一、实验内容 玩家通过按下键盘上的上下左右方向键控制球的移动,使其最终到达出口则游戏通关。 要求如下:1、 游戏分成3关,第一关、第二关、第三关界面图如下:第一关第二关第三关2、 启动游戏进入第一关,胜利后进入第二关,如果第三关通关,则游戏重新回到第一关。3、 游戏玩法是通关控制键盘上的上下左右方向键控制球的运动,单击方向键,则球获得一个向该

文***品 3年前 上传610   0

面向对象程序设计(C++)实验报告

面向对象程序设计(C++)实验报告姓名:学院:数学与计算机学院 班级:10级计算机大类班 学号:实验5 单继承一、实验目的1.掌握派生的类别与方式; 2.了解派生类中如何使用基类的成员、基类成员在派生类中的访问控制; 3. 掌握继承中构造函数和析构函数的调用过程。二、实验内容及步骤

文***品 3年前 上传1101   0

Visual C++程序设计与应用教程课后答案

Visual C++程序设计与应用教程课后答案1.6 习 题1. 填空题(1) 项目工作区一般在集成开发环境的左侧。它展示一个项目的几个方面,它们分别是ClassView、ResourceView和FileView。 (2) 编译程序的快捷键是Ctrl+F7,链接程序的快捷键是F7,运行程序的快捷键是 Ctrl+F5。(3) 项目工作区文件的扩展名为 .dsw

文***品 11个月前 上传533   0

C++程序设计课程教学大纲

教师学科教案[ 20 – 20 学年度 第__学期 ]任教学科:_____________任教年级:_____________任教老师:_____________C++程序设计 课程教学大纲一、 课程名称:C++程序设计二、 课程代码: CST11004三、 课程英文名称:Programming in C++四、 课程负责人:熊壮五、 学

z***u 11个月前 上传229   0

C++程序设计试卷2010(有答案)

XX大学 试题纸课 程 面向对象的程序设计C++ (B) 班 级 学 号 姓 名 题号一二三四五六七八九十总分得分阅卷人一、选择题:(每小题2分,共20分)1. 下面四个选项不属于表达式的语句是(B )。A.z=x

文***品 2年前 上传530   0

数据库元数据管理系统设计与实现

本科毕业设计(论文) 题  目:  数据库元数据管理系统设计与实现 院  系:       专业年级:  2009级    学生姓名:   学号:  指导教师:  2013年 X月 X日数据库元数据管理系统设计与实现摘要元数据

文***品 2年前 上传400   0

最新电大C++语言程序设计期末复习题(本)资料考试小抄

电大C++语言程序设计复习题资料参考一、单选题1. 在定义函数的格式类型修饰符 函数名 (形式参数表)函数体;中,函数体可以是( )。A、基本语句 B、复合语句C、空语句 D、语句序列2.A>B&&A<=B的值( )。A、为true B、为falseC、与A>B 的值相同 D、与A<=B的值相同3.每一个实在参数就是一个( )。A、表达

豆***2 3年前 上传531   0

2020年电大C++语言程序设计期末考试复习试题及答案(本)

C++语言程序设计复习题一、单选题1. 在定义函数的格式类型修饰符 函数名 (形式参数表)函数体;中,函数体可以是( )。A、基本语句 B、复合语句C、空语句 D、语句序列2.A>B&&A<=B的值( )。A、为true B、为falseC、与A>B 的值相同 D、与A<=B的值相同3.每一个实在参数就是一个( )。A、表达式 B、

海***9 3年前 上传712   0

国开电大《C语言程序设计》答案

形考1在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(  )。选择一项:A. main 正确恭喜你,答对啦!!B. MAIN C. name D. function .题目2正确获得2.00分中的2.00分 标记题目题干C语言源程序文件的缺省扩展名为(  )。选择一项:A. cpp B. exe C.

3265912 1年前 上传409   1

C语言程序设计习题试题集

《C语言程序设计》精品课件试题目录(按住CTRL键点击超链)单项选择题………………………第002页阅读程序题………………………第018页程序填空题………………………第039页编写程序题………………………第070页《高级语言程序设计》课程设计制作小组2007年一、单项选择题导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意

文***享 1年前 上传5495   0

C语言程序设计说课教案

《C语言程序设计》说课教案从以下方面说明:一、 课程性质、地位二、 教学对象分析及要求三、 课程体系四、 课程的重点、难点及突破五、 教学方法与教学手段六、 学生考核七、 教学计划一、 课程性质、地位 1.课程的性质  《C语言程序设计》课程是高职高专通信类和电子信息类各专业职业素质必修课,旨在培养高职学生运用计算机进行逻辑思维的能力,掌握运用C语言编程来解决岗位

文***享 1年前 上传344   0

《高级语言程序设计》实验报告

1.掌握在Visual C++6.0环境下C程序的建立、编辑、编译和执行过程。2.掌握C程序的最基本框架结构,完成简单程序的编制与运行。3.了解基本输入输出函数scanf()、printf ()的格式及使用方法。4.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。

w***2 2年前 上传445   0

C语言程序设计实验报告

C语言程序设计实验报告  实验名称 计算出1000以内10个最大素数之和   实验目的   1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。  2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循

大***6 10年前 上传958   0

《JAVA语言程序设计》试题及答案3

《JAVA语言程序设计》试题及答案3《JA V A语言程序设计》试题及答案3一、单选题1、下列程序段执行后的结果是( )。String s = new String(“abcdefg“);for (int i=0; iSystem.out.print(s.charAt(i));}A) aceg B) ACEG C) abcdefg D) abcd2、有整型数组:int[] x={

z***i 3年前 上传978   0

《高级语言程序设计》实验报告

设计一种用单链表存储多项式的结构(每个结点存储一项的系数和指数,类型都为int)并编写一个产生多项式链表的函数和一个实现两个多项式相加和相乘的函数。

留***1 5年前 上传3515   0

C语言程序设计实验教案

 《高级语言程序设计》 实验指导书 实验一 顺序结构程序设计 一、实验目的及要求 1. 掌握C语言中使用最多的一种语句——赋值语句的使用方法。 2. 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 二、实验学时 4学时 三、实验任务 1.以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该

文***品 5年前 上传1472   0

C语言程序设计形考任务

假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为( )。选择一项: a. struct BOOK *x=malloc(book); b. struct BOOK x={"C++ Programming",27.0}; c. struct BOOK *x=malloc(sizeof(struct BOOK)); d. struct BOOK *x=&book; 正确答案是:struct BOOK *x=malloc(book);

j***1 4年前 上传1487   0

银行账户管理系统(c++课程设计)

 2015-2016学年第二学期 面向对象程序设计(c++)大作业说明书学院名称: 计算机与信息工程学院 班级名称: 计算机科学与技术(对口) 学生姓名: 学 号: 题 目: 银行账户管理系统

文***品 3年前 上传730   0

C++课设报告图书管理系统软件分析报告

2015- 图书管理系统软件分析报告 XX大学《面向对象程序设计语言》课程设计报告目录系统设计者和开发者: 1软件信息: 1试验形式及分工情况: 1需求分析: 1程序的主要功能: 2各个模块的功能及设计分析: 2程序的流程图: 5类和函数的设计思想: 6类关系图: 6文件(表)说明: 6类和其中函数的说明: 7分析和讨论模块: 10系统

文***享 3年前 上传426   0

c++课程设计及图书管理系统(窗口界面)

C++课程设计课程设计系部:计算机应用技术系专业:计算机应用技术班级学号: 姓名: 一、系统功能分析: 图书管理系统设计说明报告: 图书馆作为学生学习知识的重要场所,作为信息资源的集散地,图书馆和用户借阅资料繁多,包含很多的信息数据的管理。介

文***享 3年前 上传588   0

C++程序设计实践上机指导书第八次

C++程序设计实践上机指导书(第八次)专业 计算机科学与技术 班级 学号 姓名 XX学院信息学院实践成绩评价说明1) 上机前充分准备实践材料,对上

文***享 3年前 上传529   0

图书管理系统数据库设计数据库应用系统开发课程设计

信息工程学院《数据库应用系统开发》课程设计论文题 目:图书管理系统数据库设计学 号:专业班级:信管级(X)班姓 名:魏 金 风指导老师:完成日期:2007摘 要在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,往往是投入

文***品 2年前 上传441   0