




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计数学与计算机学院VC+课程设计设计题目:学生信息管理系统 学生学号:1007020304 学生姓名:刘 正 学生专业:信息与计算科学 学生班级:10级信计三班 指导老师:李建湘 制作时间:2011年12月14日目 录一、 前言2二、 系统需求分析3三、 程序设计思路3四、 模块分析5五、 主要功能图示及代码 9六、 创新内容17七、 存在的问题与不足17八、 收获与感想18九、 程序其它重要源代码19十、 后记27 十一、参考文献28前 言作为大二的一名学生,我们已经学习汇编语言快一年了,但是自己从来没有做过一个有实用价值的程序。总是怀疑我们学的c语言,c+以后会有用吗?几乎都是编写一些数学计算题。直到老是教我们MFC编程后,才知道应用程序的设计过程。说实话,在课程设计之前,我没有听过什么MFC编程,所以在设计的过程中也是困难重重,每走一步都是相当艰难的。从开始设计到完成设计,我花了两个多星期,中间重做了无数次。真的难以想象爱迪生发明电灯时是怎么熬过来的。这个程序虽然不完美,但是花了我不少的心血。这将是我程序生涯的开始!学习MFC编程,最重要的就是自学。刚开始,什么都不懂,为什么要这么做?好多函数都不不知道是干什么用的,更不用说使用它们。因此,不得不借助图书馆和网络了解它们。MFC函数库很庞大,我这次用到的微乎其微,以后还得不断的学习和熟悉。一个那么庞大的函数库,我们该如何掌握它呢?通过这半个多月的学习,我个人觉得最重要的就是多练习,只有不断的练习,才能掌握它们的规律,帮助我们学好MFC函数库。接下来,我将把这些天的成果在这里展现出来,与大家一起分享这份来之不易的喜悦!一、系统需求分析随着互联网的发展,利用internet 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。服务教学、提高教学水平和效果是校园网建设的核心目标和核心价值,如何利用现有的资源,来更好地服务于学校的教学,服务于学校的管理工作,是摆在我们面前的一个共同的命题。该系统适用于小学、初中、高中以及大学学生的成绩简单管理。由于某些学校管理有所不同大或者过于复杂,本系统不能满足其需要,因此本系统也具有一定的局限性。就目前而言,许多小学、初中和高中的学籍管理方式还停留在手工操作基础上,每个学期和学年,教师需要花费大量的时间来登录学生信息,本来教学任务就繁重的教师,再加上这些学生信息的登录,耗费了教师不少的精力和时间。而管理人员也需要花费较多的时间来校对管理,这样一来,一个简单的工作的变得相当繁琐了。同时又形成信息册在教师和教导处之间传递的延时性,遇到学生转入转出,又因为各个学校使用的学籍卡的不同,而造成信息的缺失或者遗漏。本系统就是为了减轻教师繁复的誊写工作、加强学校学生信息管理的方便性,以及对信息管理的准确性。二、程序设计思路本系统是MFC编程中基于单文档的设计。首先定义类来封装,存储同学信息,及实现各个函数之间的串联,运用指针及数组来实现各个函数的处理功能。各个函数都是独立存在的,还可以在之基础上增加或减少一些功能,可使整个系统更加适合个人的使用。该系统主要按班级来完成学生成绩的管理,功能包括添加、输出、删除。本系统的主界面布局主要以编辑框和按钮组成。编辑框的主要功能是显示记录信息和录入记录信息,以方便存储基本的信息,按钮可以进行相应的操作。进入系统时,会弹出一个登录框,只有用户输入正确的密码时才可以进入管理界面,其密码为“1234”。当用户计入了管理界面后,可以看到菜单栏中有一项为“学生信息管理”,其中有子菜单“信息输入”和“信息输出”,点击“信息输入”功能,将会弹出一个添加学生信息对话框,只有把信息输入完全,才能点击“确定”按钮,此时输入的信息将会保存起来;如果点击的“取消”按钮,那么信息将会自动消失,不会保存。接下来就是“信息输出”功能。点击信息输出功能时,将会弹出学生信息管理系统对话框,用户将会看到先前在添加学生信息对话框中输入的内容。在该对话框的下方,还有“添加”、“删除”、“退出”三个按钮:(1)添加:点击添加按钮,将会弹出添加学生信息对话框,输入要添加的内容,确定后就添加成功了,可以在学生信息管理系统输出新添加的信息。(2)删除:如果用户想要删除学生信息,只要选定要删除的对象,然后点击删除键,如此便删除成功。(3)退出:点击该按钮,便可以退出该对话框,当然也可以点击右上方的关闭按钮。系统功能模块图。该系统分为若干模块,每个模块下面又有若干子模块,层层划分直到每一个模块能够作为计算机可执行的单独程序为止。系统划分的结果最终反映为一张分层的树型结构图,学生成绩管理系统的主要功能结构图如下图所示:进入学生管理系统登陆界面登陆界面添 加删 除退 出信息输出信息输入学生信息管理系统功能模块图三、模块分析 该系统分为五个模块,它们是用户登录、信息输入、信息输出、信息添加和信息删除。每个模块之间相互联系,其中用户登录模块属于一级模块,它控制着用户是否能够进入管理系统。信息输入和信息输出属于二级模块,是用来给用户实现学生信息管理的。添加和删除属于信息输出模块中的两个分功能,其中添加与信息输入相关联。各个模块紧密相连,共同完成该系统的管理功能。1、用户登录:此模块功能是用来保护用户信息的,只有输入正确的密码,然后点击“确定”方可进入管理系统。进入系统后,可以看到学生信息管理界面、信息输入:此模块功能是用来给用户输入学生信息的,同时也是添加功能的模块。点击菜单栏中的“学生信息管理”就会出现两个子菜单,点击“信息输入”,弹出一个添加学生信息对话框,在里面输入姓名、学号、性别、专业班级、成绩等,填好信息后点击确定。、信息输出:此模块工能是用来显示用户在添加信息对话框中输入的学生信息,可供用户进行数据研究。在输入完学生信息之后,点击菜单中的“信息输出”,此时将会弹出学生成绩管理系统对话框,在该对话框将会显示在添加信息对话框中输入的全部信息。6、信息添加:此模块功能是用来方便用户在主对话框中继续添加学生信息,这就不用关闭主对话框再进入信息输入对框。点击学生信息管理系统中的添加按钮,将会弹出添加学生信息对话框,如图4所示。5、信息删除:此模块功能是用来删除用户输入的错误信息以及不要了的信息,比如某个班级的学生学了或者转专业了,就可以删除他在原来班级的信息。选定要删除的对象,点击对话框中的“删除”按钮,系统会自动弹出询问信息,如果确认点击确定就可进行删除,程序会自动调用删除函数进行删除。完毕后可以看到自己所选择删除的项已删除。四、主要功能视图及代码1、登录界面,当程序运行时将会出现如下对话框:当用户输入正确的密码(1234)时,将会成功进入系统;如果输入密码错误将会弹出以下对话框:点击“确定”按钮后,将会自动退出系统。此功能的实现是在BOOL CMy1007020304App:InitInstance()里面添加如下代码如下:BOOL CMy1007020304App:InitInstance()AfxEnableControlContainer();、m_pMainWnd-ShowWindow(SW_SHOW);m_pMainWnd-UpdateWindow();CPasswordDlg dlg;if(dlg.DoModal()!=IDOK) return false;if(dlg.m_password!=1234)AfxMessageBox(密码错误,确认后将退出程序!);return false;return TRUE;然后在添加头文件#include PasswordDlg.h。进入成功后,将会出现系统界面,如下图所示:2、在系统界面中,我们可以看到有“学生信息管理”这一项菜单,点击后将会出现“信息输入”和“信息输出”两个此菜单,分别点击后将会出现以下连个菜单:一个是输入对话框,另一个是输出对话框,其中输入对话框的代码如下:class CMy1007020304App : public CWinApppublic:CString ZH;int CYY;int YY;int GD;CString ZYBJ;CString XB;CString XM;CString XH;CMy1007020304App();、BOOL CAddDlg:OnInitDialog()CDialog:OnInitDialog();CEdit *edit1=(CEdit *)GetDlgItem(IDC_EDIT_XH);edit1-SetWindowText( );edit1=(CEdit *)GetDlgItem(IDC_EDIT_XM);edit1-SetWindowText( );edit1=(CEdit *)GetDlgItem(IDC_EDIT_ZYBJ);edit1-SetWindowText( );edit1=(CEdit *)GetDlgItem(IDC_EDIT_GD);edit1-SetWindowText( );edit1=(CEdit *)GetDlgItem(IDC_EDIT_YY);edit1-SetWindowText( );edit1=(CEdit *)GetDlgItem(IDC_EDIT_CYY);edit1-SetWindowText( );CComboBox *combo1=(CComboBox *)GetDlgItem(IDC_COMBO_XB);combo1-SetCurSel(-1);combo1=(CComboBox *)GetDlgItem(IDC_COMBO_ZH);combo1-SetCurSel(-1);CButton *but1=(CButton *)GetDlgItem(IDOK);but1-EnableWindow(FALSE);return TRUE;以下是输出对话框的代码:BOOL CMainDlg:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization hereCString tempColName8= 学号,姓名,性别,专业班级,高代,英语,c语言,综合;m_ListCtrlx.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL|LVS_SHOWSELALWAYS); m_ListCtrlx.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE); for(int i=0;iXH);m_ListCtrlx.SetItemText(m_Count,1,app-XM);m_ListCtrlx.SetItemText(m_Count,2,app-XB);m_ListCtrlx.SetItemText(m_Count,3,app-ZYBJ);CString TempStr;TempStr.Format(%d,app-GD);m_ListCtrlx.SetItemText(m_Count,4,TempStr);TempStr.Format(%d,app-YY);m_ListCtrlx.SetItemText(m_Count,5,TempStr);TempStr.Format(%d,app-CYY);m_ListCtrlx.SetItemText(m_Count,6,TempStr);m_ListCtrlx.SetItemText(m_Count,7,app-ZH);UpdateData(TRUE);3、删除功能,当用户选定一个眼删除的对象后,点击删除按钮时,将会弹出如下对话框:其实现代码如下:void CMainDlg:OnDelete() / TODO: Add your control notification handler code hereif(MessageBox(确实要删除吗?,删除,MB_YESNO|MB_ICONQUESTION)=IDYES)CString str;for(int i=0; iGetWindowText(XH);edit1=(CEdit *)GetDlgItem(IDC_EDIT_XM); edit1-GetWindowText(XM);edit1=(CEdit *)GetDlgItem(IDC_EDIT_ZYBJ); edit1-GetWindowText(ZYBJ);edit1=(CEdit *)GetDlgItem(IDC_EDIT_GD); edit1-GetWindowText(GD);edit1=(CEdit *)GetDlgItem(IDC_EDIT_YY); edit1-GetWindowText(YY);edit1=(CEdit *)GetDlgItem(IDC_EDIT_CYY); edit1-GetWindowText(CYY); CComboBox *combo1=(CComboBox *)GetDlgItem(IDC_COMBO_XB);combo1-GetWindowText(XB); combo1=(CComboBox *)GetDlgItem(IDC_COMBO_ZH); combo1-GetWindowText(ZH); CButton *but1=(CButton *)GetDlgItem(IDOK);but1-EnableWindow(XH!= &XH!= &XM!= &XB!= &ZYBJ!= &GD!= &YY!= &CYY!= &ZH!= );void CAddDlg:OnChangeEditXh() EditCombo_CHANGE();、void CAddDlg:OnChangeEditXm() EditCombo_CHANGE();、void CAddDlg:OnSelchangeComboXb() EditCombo_CHANGE();、void CAddDlg:OnChangeEditZybj() EditCombo_CHANGE();、void CAddDlg:OnChangeEditGd() EditCombo_CHANGE();、void CAddDlg:OnChangeEditYy() EditCombo_CHANGE();、void CAddDlg:OnChangeEditCyy() EditCombo_CHANGE();、void CAddDlg:OnSelchangeComboZh() EditCombo_CHANGE();、void CAddDlg:OnOK() / TODO: Add extra validation hereCString XH,XM,XB,ZYBJ,GD,YY,CYY,ZH;CMy1007020304App *app=(CMy1007020304App*)AfxGetApp();CEdit *edit1=(CEdit*)GetDlgItem(IDC_EDIT_XH);edit1-GetWindowText(XH);app-XH=XH;edit1=(CEdit*)GetDlgItem(IDC_EDIT_XM);edit1-GetWindowText(XM);app-XM=XM;edit1=(CEdit*)GetDlgItem(IDC_EDIT_ZYBJ);edit1-GetWindowText(ZYBJ);app-ZYBJ=ZYBJ;edit1=(CEdit*)GetDlgItem(IDC_EDIT_GD);edit1-GetWindowText(GD);app-GD=atoi(GD);edit1=(CEdit*)GetDlgItem(IDC_EDIT_YY);edit1-GetWindowText(YY);app-YY=atoi(YY);edit1=(CEdit*)GetDlgItem(IDC_EDIT_CYY);edit1-GetWindowText(CYY);app-CYY=atoi(CYY);CComboBox*combo1=(CComboBox*)GetDlgItem(IDC_COMBO_XB);combo1-GetWindowText(XB);app-XB=XB; combo1=(CComboBox *)GetDlgItem(IDC_COMBO_ZH); combo1-GetWindowText(ZH); app-ZH=ZH;CDialog:OnOK();以下是文件保存的代码:void CMy1007020304Doc:Serialize(CArchive& ar)DWORD dwFlag=0; CMy1007020304App *app=NULL;if (ar.IsStoring()dwFlag=0;POSITION pos=m_ListCtrlx.GetHeadPosition();while(app!=NULL)app=(CMy1007020304App *)m_ListCtrlx.GetAt(pos);m_ListCtrlx.GetNext(pos);ardwFlag;ar.Write(app,sizeof(CMy1007020304App);dwFlag=0;ardwFlag;while(dwFlag!=0)app=new CMy1007020304App;memset(app,0,sizeof(CMy1007020304App);ar.Read(app,sizeof(CMy1007020304App);m_ListCtrlx.AddTail(app);ardwFlag;/ TODO: add loading code hereUpdateAllViews(NULL,0L,NULL);为添加学生信息对话框创建的模态对话框,代码如下:void CMy1007020304View:OnInputDialog() C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关+于建立我国公众参与科学技术决策制度的探讨
- 餐饮品牌直营店承包经营合同范本
- 仓储安全管理员综合责任履行合同
- 生态修复工程拆迁房买卖及环境补偿协议
- 校园食堂餐饮茶点供应与承包管理合同
- 厂房拆迁及后续发展用地规划合作协议
- 高端厨电品牌厂商与经销商协同发展协议
- 能源企业财务记账代理与能源交易合同
- 房屋拆除安全责任及施工管理协议
- 急诊护理院感防控体系构建
- 五年级数学应用题练习-小数除法应用题
- 管培生轮岗总结汇报
- 康复科护理的患者安全和风险管理
- 检验科工作环境清洁、消毒记录表
- 国开《Windows网络操作系统管理》形考任务4-配置故障转移群集服务实训
- 神奇的塑料袋-脑洞大开的运动 教案
- 《铸造用增碳剂》
- 解读《2023年中国血脂管理指南》
- 运用PDCA提高影像诊断与手术符合率演示文稿
- 公司声誉风险管理办法(2022年修订)
- 700水平轧机主传动系统设计
评论
0/150
提交评论