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


    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++程序设计课程设计说明书题目: 学生成绩管理信息系统设计与开发 学生姓名: 学 号: 院...

    3年前   
    612    0

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

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

    2年前   
    609    0

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

    c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在...

    2年前   
    553    0

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

    C++语言课程设计一迷你高尔夫一、实验内容 玩家通过按下键盘上的上下左右方向键控制球的移动,使其最终到达出口则游戏通关。 要求如下:1、 游戏分成3关,第一关、第二关、第三关界面图如下:第一关...

    3年前   
    610    0

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

    本科毕业设计(论文) 题  目:  数据库元数据管理系统设计与实现 院  系:       专业年级:  2009级    学生姓名...

    2年前   
    402    0

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

    面向对象程序设计(C++)实验报告姓名:学院:数学与计算机学院 班级:10级计算机大类班 学号:实验5 单继承一、实验目的1.掌握派生的类别与方式; ...

    3年前   
    1104    0

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

    Visual C++程序设计与应用教程课后答案1.6 习 题1. 填空题(1) 项目工作区一般在集成开发环境的左侧。它展示一个项目的几个方面,它们分别是ClassView、Resour...

    11个月前   
    548    0

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

    教师学科教案[ 20 – 20 学年度 第__学期 ]任教学科:_____________任教年级:_____________任教老师:_____________C++程序设计 课程教...

    11个月前   
    233    0

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

    XX大学 试题纸课 程 面向对象的程序设计C++ (B) 班 级 学 号 姓 名 题号一二...

    2年前   
    531    0

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

    电大C++语言程序设计复习题资料参考一、单选题1. 在定义函数的格式类型修饰符 函数名 (形式参数表)函数体;中,函数体可以是( )。A、基本语句 B、复合语句C、空语句 D、语句...

    3年前   
    533    0

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

    C++语言程序设计复习题一、单选题1. 在定义函数的格式类型修饰符 函数名 (形式参数表)函数体;中,函数体可以是( )。A、基本语句 B、复合语句C、空语句 D、语句序列2.A>...

    3年前   
    712    0

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

    形考1在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(  )。选择一项:A. main 正确恭喜你,答对啦!!B. MAIN C. name D. function .题目2正确...

    1年前   
    413    1

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

    《C语言程序设计》精品课件试题目录(按住CTRL键点击超链)单项选择题………………………第002页阅读程序题………………………第018页程序填空题………………………第039页编写程序题…………...

    1年前   
    5536    0

    C语言程序设计说课教案

    《C语言程序设计》说课教案从以下方面说明:一、 课程性质、地位二、 教学对象分析及要求三、 课程体系四、 课程的重点、难点及突破五、 教学方法与教学手段六、 学生考核七、 教学计划一、 课程性...

    1年前   
    345    0

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

    1.掌握在Visual C++6.0环境下C程序的建立、编辑、编译和执行过程。2.掌握C程序的最基本框架结构,完成简单程序的编制与运行。3.了解基本输入输出函数scanf()、printf ()...

    2年前   
    447    0

    C语言程序设计实验报告

    C语言程序设计实验报告  实验名称 计算出1000以内10个最大素数之和   实验目的   1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语...

    10年前   
    959    0

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

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

    5年前   
    3518    0

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

    《JAVA语言程序设计》试题及答案3《JA V A语言程序设计》试题及答案3一、单选题1、下列程序段执行后的结果是( )。String s = new String(“abcdefg“);fo...

    3年前   
    979    0

    C语言程序设计形考任务

    假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为( )。选择一项: a. struct ...

    4年前   
    1491    0

    C语言程序设计实验教案

     《高级语言程序设计》 实验指导书 实验一 顺序结构程序设计 一、实验目的及要求 1. 掌握C语言中使用最多的一种语句—...

    5年前   
    1475    0

    文档贡献者

    文***享

    贡献于2019-06-07

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档