Windows程序课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

window程序课程设计

简单的学生信息

管理应用程序

学生姓名:**

学生学号: *********

班级: 031140--3

二〇一三年十二月

简单的学生信息管理应用程序

一、设计目的、内容及要求

1.1设计目的

1. 了解Windows编程的基础知识,掌握MFC应用程序的基本知识;

2. 基本掌握面向对象程序设计的基本思路和方法;

3. 掌握用VC++开发应用程序的的一般步骤和方法;

1.2设计内容

利用所学的基本知识, 设计一个简单的学生信息管理应用程序,具有以下功能:①实现学生信息的存储,可以用文件来实现。②编程实现学生信息的添加、删除、修改、浏览和查询等功能。

1.3设计要求

1. 用VC++进行编码,实现应用程序的功能。注重编码质量,代码要有适当

的注释;

2. 采用单文档多视图方式,左边为树视图,右边为列表视图,左边一级节点

为中原工学院,二级节点为计算机学院和软件学院,三级节点为计算机学院的三个专业。要求可以动态增加节点。楼便为列表视图,包含学生的学号、性别、姓名各科成绩等。右边也可以实现动态增加

3. 当选中节点时,显示对应的学生信息。如当选中”中原工学院”时选中所用的

学生信息,选中“计算机学院”时,显示所有计算机学院学生信息

4. 采用序列化方式保存和读取学生信息

二、主要的数据结构

1.数组集合类:CObArray m_stuObArray;

2.树:

3.序列化类数据

三、基本思路

基于树视图类建立单文档应用程序,插入列表视图类,切分窗口,左边为树视图,右边为列表视图。插入学生信息对话框,创建序列化类,并利用数组集合类储存学生信息。在主菜单中添加添加、修改、删除、查询菜单,并在文

档类中一一添加其映射函数。在列表视图类写入输出函数,在树视图类中添加click映射函数,调用列表试图中的输出函数,是两个视图之间建立关系。

四、步骤及主要代码

4.1设计并创建切分窗口完善视图

1.用MFC AppWizard (exe)创建一个单文档应用程序Student。在第六步中将视图类的基类选择为CtreeView。

2.用MFC ClassWizard添加一个新的ClistView的派生类ClistView。打开CmainFrame.h文件,为CmainFrame类添加下列变量成员:

public:

CSplitterWnd m_wndSplitter;

3.用MFC ClassWizard为CMainFrame类添加OnCreatClient函数,并添加下列代码:

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)

{

m_wndSplitter.CreateStatic(this,1,2);

m_wndSplitter.SetRowInfo(0,400,0);

m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CStudentView),CSize(400, 600),pContext);

m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(ClistView),CSize(400,600) ,pContext);

return TRUE;

}

4.在MainFrm.cpp的前面添加下列语句:

#include "MainFrm.h"

#include "StudentView.h"

#include "listView.h"

在StudentView.cpp的前面添加下列下列语句:

#include "StudentDoc.h"

#include "StudentView.h"

#include "listView.h"

在StudentDoc.cpp的前面添加:

#include "StudentDoc.h"

#include "listView.h"

#include "StudentView.h"

打开StudentView.h文件,在class CStudentView : public CtreeView语句前面添加:class CStudentDoc;

class CStudentView : public CTreeView

5.为CstudentView添加void类型函数creatTree()函数,并添加下列代码

void CStudentView::creatTree()

{

CTreeCtrl& m_TreeCtrl = GetTreeCtrl();

m_TreeCtrl.DeleteAllItems();

HTREEITEM hRoot,hParent,hChild,pS;

hRoot=m_TreeCtrl.InsertItem("中原工学院",0,1);

hParent=m_TreeCtrl.InsertItem("计算机学院",hRoot);

m_TreeCtrl.InsertItem("网络工程",hParent);

m_TreeCtrl.InsertItem("软件工程",hParent);

m_TreeCtrl.InsertItem("计算机科学",hParent);

hParent=m_TreeCtrl.InsertItem("软件学院",hRoot);

BOOL flag=TRUE;

CStudentDoc *doc=GetDocument();

int nIndex=doc->m_stuObArray.GetSize();

for(int n=0;n

{

CStudentInfo *stu=(CStudentInfo*)doc->m_stuObArray.GetAt(n);

CString str1=stu->strSpecial;

CString str2=stu->strAcademy;

if(!m_TreeCtrl.ItemHasChildren(hRoot))//判断根节点是否有子节点

{

hParent=m_TreeCtrl.InsertItem(str2,hRoot);

m_TreeCtrl.InsertItem(str1,0,1,hParent);

相关文档
最新文档