ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:307.41KB ,
资源ID:2673680      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2673680.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计信息管理系统.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

课程设计信息管理系统.docx

1、课程设计信息管理系统 郑州工业应用技术学院课程设计说明书 题目: 学生信息管理系统 姓 名: 蔡 阳 阳 院 (系): 信 息 工 程 学 院 专业班级:14 级计算机科学与技术一班 学 号: 1401110107 指导教师: 张 吉 同 成 绩: 时间: 2015 年 9 月 11 日至 2015 年 11 月 14 日郑州工业应用技术学院课程设计任务书 题目 学 生 信 息 管 理 系 统 专业、班级14级计算机科学与技术一班 学号1401110107 姓名 蔡阳阳 主要内容:1.了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2.基本掌握面向对象程序设计的基本思路和方法;

2、3.掌握用VC+开发应用程序的的一般步骤和方法;4.能够利用所学的基本知识, 设计一个简单的学生信息管理应用程序,具有以下功能:实现学生信息的存储,可以用文件来实现。编程实现学生信息的添加、删除、修改、浏览和查询等功能(必须实现的功能)。基本要求:1.用VC进行编码,实现应用程序的功能。注重编码质量,代码要有适当的注释;2.采用单文档多视图方式,左边为树视图,右边为列表视图,左边一级节点为中原工学院,二级节点为计算机学院和软件学院,三级节点为计算机学院的三个专业。要求可以动态增加节点。楼便为列表视图,包含学生的学号、性别、姓名各科成绩等。右边也可以实现动态增加3当选中节点时,显示对应的学生信息

3、。如当选中”中原工学院”时选中所用的学生信息,选中“计算机学院”时,显示所有计算机学院学生信息主要参考资料:1谭浩强.C+语言基础课程M.北京:清华大学出版社,2009 2于永彦. C+程序设计基础案例教程M.北京:北京大学出版社,20093郑莉.C+语言程序设计习题与实验指导M.清华大学出版社,2007 完 成 期 限: 9月11日-11月14日 指导教师签名: 课程负责人签名: 2015年 11月 14日摘要 随着科学技术的发展,计算机领域不断取得新的研究成果。计算机在代替和延伸劳动方面发挥越来越重要的作用,不仅咋商业、企业、银行等起着重要作用,而且在日常生活中国也越来越来离不开计算机。就

4、像在大学,有很多学生信息需要处理、保存。以及提供优质的服务,此事计算机显得尤为重要。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识。作为计算机应用的一部分,使用计算机对学生作业信息进行管理,有着手工管理所无法比拟的有点。所以,现今大部分大学都使用了计算机来规划整个学生信息、提供选课、网络教学等。学生作业处理系统能方便用户迅速、准确处理学生作业,给出评分评价,得到想要的数据并能将学生的信息以文档的形式保存,以供使用时调出。本文介绍了简易学生的作业处理系统在Microsoft Visual C+ 6.0环境下的实现过程:系统的分析、功能模块的设计、系统的调试和测试。此系统

5、的主要管理信息:学生的班级、学生的学号、学生的作业情况、作业评分。本系统的主要功能有:输入数据、显示所有的数据、按成绩降序排列、查找并显示一组数据、插入一组数据、修改一组数据、删除一组数据、从文件中读取数据、将所有记录写入文件、退出本系统。 关键字:学生成绩处理、VC+、MFC、控件四、主要步骤 1、新建工程:用MFC AppWizard(exe)创建一个单文档的应用程序StudentCheck。在第六步中将视图的基类选择为。2、1添加一个基于ListView类的新的类listView、用于显示学生信息2、2为CMainFrame添加一个切分窗口的映射函数OnCreateClient并添加一个

6、切分窗口的函数成员CSplitterWnd m_wndSplitter;然后添加下列代码: CRect rect; GetClientRect(&rect); CSize paneSize(rect.Width()/3,rect.Height(); m_wndSplitter.CreateStatic(this,1,2); m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CStudentCheckView),paneSize,pContext); m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(listView),CS

7、ize(0,0),pContext); return true; 2、4创建一个CstuInfoDlg对话框2、5添加下列控件并为上面控件添加变量在WorkSpace中进入ClassView视图,为CStuInfoDlg类添加一个BOOL型的成员变量m_bMale,并在CStuInfoDlg类设置该变量的初始值,添加代码如下:StuInfoDlg:StuInfoDlg(CWnd* pParent /*=NULL*/) : CDialog(StuInfoDlg:IDD, pParent) m_bMale=FALSE; /AFX_DATA_INIT(StuInfoDlg) m_strSpecial

8、 = _T(); m_tBirth = 0; m_strMath = 0; m_strName = _T(); m_strNO = _T(); m_strAcademy = _T(); /AFX_DATA_INIT用MFC ClassWizard为CStuInfoDlg类添加WM_INITDIALOG消息映射,并添加下列初始化代码: if(!m_bMale) CheckRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMALE,IDC_RADIO_FEMALE); else CheckRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMA

9、LE,IDC_RADIO_MALE);/对专业组合框进行初始化 m_comboSpecial.AddString(网络工程); m_comboSpecial.AddString(软件工程); m_comboSpecial.AddString(计算机科学); m_comboSpecial.AddString(服装设计); m_comboSpecial.AddString(服装表演); m_comboSpecial.AddString(艺术设计); m_strSpecial=网络工程; m_comboAcademy.AddString(计算机学院); m_comboAcademy.AddStrin

10、g(服装学院); m_strAcademy=计算机学院; m_tBirth=CTime(1989,10,7,0,0,0); m_strMath=80; UpdateData(FALSE);/将信息显示在控件中2、6用MFC ClassWizard为单选按钮IDC_RADIO_MALE添加BN_CLICKED的消息映射,并添加下列初始代码: m_bMale=TRUE;用MFC ClassWizard为单选按钮IDC_RADIO_FEMALE添加BN_CLICKED的消息映射,并添加下列初始代码: m_bMale=FALSE;用MFC ClassWizard为单选按钮IDOK添加BN_CLICKE

11、D的消息映射,并添加下列初始代码: UpdateData(); m_strName.TrimLeft();/将字符串最前面的空格修整掉 m_strNO.TrimLeft(); if(m_strName.IsEmpty() MessageBox(必须要有姓名!); else if(m_strNO.IsEmpty() MessageBox(必须要有学号!); Else3、1用MFC ClassWizard为CStudentCheckView类添加NM_CLICK消息映射通过映射来在列表视图显示学生信息。并添加下列初始化代码:CPoint point; UINT uFlags; :GetCursor

12、Pos(&point);/该函数检取光标的位置,以屏幕坐标表示 CTreeCtrl& m_TreeCtrl = GetTreeCtrl(); m_TreeCtrl.ScreenToClient(&point); HTREEITEM hSel=m_TreeCtrl.HitTest(point,&uFlags); /测试鼠标点是否在一个节点项上,若是,则选中该点 if(hSel!=NULL)&(TVHT_ONITEM & uFlags) m_TreeCtrl.SelectItem(hSel); CString strItem=m_TreeCtrl.GetItemText(hSel); CStude

13、ntCheckDoc *doc=GetDocument(); int nIndex=doc-m_stuObArray.GetSize();/得到数组的大小:知道储存了几个学生的信息 ); for(int n=0;nm_stuObArray.GetAt(n);/调取m_stuObArray中储存的第n个对象信息 CString str=stu-strSpecial;/得到该学生的专业信息 CString dlg=stu-strAcademy;/得到该学生的学院信息 POSITION pos=GetDocument()-GetFirstViewPosition(); GetDocument()-G

14、etNextView(pos); listView *list=(listView*)GetDocument()-GetNextView(pos);/定义一个指向列表视图类的指针 if(n=0) list-GetListCtrl().DeleteAllItems();/删除全部列表项 if(strItem=str|strItem=dlg|strItem=中原工学院) list-Onprint(stu);/把息输信入到列表中 3、2然后为CStudentCheckView添加一个void类型的成员函数CreateTree()函数,用来动态添加学生信息并添加下列初始代码: CTreeCtrl& m

15、_TreeCtrl = GetTreeCtrl(); m_TreeCtrl.DeleteAllItems(); HTREEITEM hRoot,hParent,hChild,pS; hRoot=m_TreeCtrl.InsertItem(中原工学院,0,1); BOOL flag=TRUE; CStudentCheckDoc *doc=GetDocument(); int i=doc-m_stuObArray.GetSize(); for(int n=0;nm_stuObArray.GetAt(n); CString str1=stu-strAcademy; CString str2=stu-

16、strSpecial; if(!m_TreeCtrl.ItemHasChildren(hRoot)/判断根节点是否有子节点 hParent=m_TreeCtrl.InsertItem(str2,hRoot); m_TreeCtrl.InsertItem(str1,0,1,hParent); else hParent=m_TreeCtrl.GetChildItem(hRoot); pS=hParent; for(;pS!=NULL;pS=m_TreeCtrl.GetNextItem(pS,TVGN_NEXT) CString strItem1=m_TreeCtrl.GetItemText(pS)

17、; if(strItem1=str2)flag=FALSE; if(flag) hParent=m_TreeCtrl.InsertItem(str2,hRoot); m_TreeCtrl.InsertItem(str1,0,1,hParent); else if(!m_TreeCtrl.ItemHasChildren(hParent)/判断是否有子节点 m_TreeCtrl.InsertItem(str1,0,1,hParent); else hChild=m_TreeCtrl.GetChildItem(hParent); for(;hChild!=NULL;hChild=m_TreeCtrl

18、.GetNextItem(hChild,TVGN_NEXT) CString strItem2=m_TreeCtrl.GetItemText(hChild); if(strItem2=str1)flag=TRUE; if(!flag)m_TreeCtrl.InsertItem(str1,0,1,hParent); SetCtrlStyle(m_TreeCtrl.GetSafeHwnd(), TVS_HASLINES|TVS_LINESATROOT|TVS_HASBUTTONS);3、3为CStudentCheckView添加消息映射OnIntialUpte,用来调用CreateTree()函数

19、,动态添加学生信息。并添加下列初始代码: CTreeCtrl& m_TreeCtrl = GetTreeCtrl(); m_TreeCtrl.DeleteAllItems();CreateTree();3、4为CStudentCheckView添加一个void类型的成员函数SetCtrlStyle(HWND hWnd, DWORD dwNewStyle)/设置列表控件不同的显示方式并添加下列初始代码: LONG lStyle; lStyle = GetWindowLong(hWnd, GWL_STYLE);/获取当前窗口style lStyle &= LVS_TYPEMASK; /清除显示方式

20、位 lStyle |= dwNewStyle; /设置style SetWindowLong(hWnd, GWL_STYLE, lStyle);/设置style4、1在WorkSpace中进入ClassView视图,为listView类添加一个void型的成员函数Onprint(CStudentInfo *dlg),用来添加学生信息。并添加下列初始代码: CListCtrl&m_listctrl=GetListCtrl();/变量 m_listctrl.InsertItem(0,dlg-strName);/姓名 m_listctrl.SetItemText(0,1,dlg-strNO);/学号

21、 if(dlg-bMale) m_listctrl.SetItemText(0,2,男); else m_listctrl.SetItemText(0,2,女); m_listctrl.SetItemText(0,3,dlg-tBirth.Format(%Y-%m-%d);/出生年月 CString str;/理解 str.Format(%d,dlg-strMath);/数学成绩 m_listctrl.SetItemText(0,4,str); m_listctrl.SetItemText(0,5,dlg-strSpecial);/专业 m_listctrl.SetItemText(0,6,d

22、lg-strAcademy);/学院4、2然后为listView添加消息映射NM_CLICK,用来通过点击或得学生的映射,并通过点击查找学生信息。并添加下列初始代码: int i = lpItem-iItem; if (i = 0) CListCtrl& ListCtrl = GetListCtrl(); CString str = ListCtrl.GetItemText(i, 0); MessageBox(str); 4、3为listView添加消息映射OnIntialUpte,用来在列表视图输出学生的信息并添加下列初始代码: CListCtrl&m_listctrl=GetListCtr

23、l(); CString strHeader7=姓名,学号,性别,出生年月,数学成绩,所选专业,所在学院; int nWidth7=100,100,100,100,100,100,100; for(int nCol=0;nCol7;nCol+) m_listctrl.InsertColumn(nCol,strHeadernCol,LVCFMT_LEFT,nWidthnCol);5、1建立序列化类CStudentInfo用来保存学生信息,添加C/C+ Header File,并添加下列初始代码:class CStudentInfo:public CObjectpublic: CString st

24、rName; CString strNO; BOOL bMale; CTime tBirth; int strMath; CString strSpecial; CString strAcademy; DECLARE_SERIAL(CStudentInfo)public: CStudentInfo(); CStudentInfo(CString name,CString id,BOOL male,CTime birth,int math,CString special,CString academy); void Serialize(CArchive &ar);5、2添加C/C+ Source

25、 File,并添加下列初始代码:#include stdafx.h#include StudentInfo.hCStudentInfo:CStudentInfo(CString name,CString id,BOOL male,CTime birth,int math,CString special,CString academy) strName=name; strNO=id; bMale=male; tBirth=birth; strMath=math; strSpecial=special; strAcademy=academy;IMPLEMENT_SERIAL(CStudentInf

26、o,CObject,1) /序列化实现void CStudentInfo:Serialize(CArchive &ar)/ 从档案文件中读取该对象或向档案文件中写入该对象。 if(ar.IsStoring() arstrNamestrNObMaletBirthstrMathstrSpecialstrNamestrNObMaletBirthstrMathstrSpecialstrAcademy; 6、1打开该文档应用程序的菜单资源,添加顶层菜单项“学生基本操作”并添加菜单项目:添加删除、修改、查询,ID依次为ID_STUINFO_ADD、ID_STUINFO_Del、ID_STUINFO_XIU

27、GAI、ID_STUINFO_FIND。打开CStudentCheckDoc,分别添加下列映射:6、2分别为下列函数添加下列代码用来添加、删除、修改、查询学生的信息,添加初始代码:void CStudentCheckDoc:OnStuinfoAdd() /添加信息 StuInfoDlg dlg; if(dlg.DoModal()!=IDOK)return;/判断学生信息是不是已经添加 CStudentInfo*pStudent=new CStudentInfo(dlg.m_strName,dlg.m_strNO,dlg.m_bMale,dlg.m_tBirth, dlg.m_strMath,d

28、lg.m_strAcademy,dlg.m_strSpecial); m_stuObArray.Add(pStudent); POSITION pos=GetFirstViewPosition(); CStudentCheckView *stu=(CStudentCheckView*)GetNextView(pos); stu-CreateTree(); SetModifiedFlag(); /设置文档更改标志 UpdateAllViews(NULL); /更新视图 void CStudentCheckDoc:OnSTUINFODEl() /删除学生信息 Find dlg; if(dlg.Do

29、Modal()!=IDOK)return; int i=m_stuObArray.GetSize(); for(int n=0;nstrName=dlg.m_name) delete m_stuObArray.GetAt(n); m_stuObArray.RemoveAt(n,1); SetModifiedFlag(); /设置文档更改标志 UpdateAllViews(NULL); /更新视图 void CStudentCheckDoc:OnStuinfoFind() /查找学生信息 Find dlg; if(dlg.DoModal()!=IDOK)return; int i=m_stuObArray.GetSize();

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2