MFC学生成绩管理系统设计_第1页
MFC学生成绩管理系统设计_第2页
MFC学生成绩管理系统设计_第3页
MFC学生成绩管理系统设计_第4页
MFC学生成绩管理系统设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual C+课程设计 题 目 名 称:学生成绩管理程序MFC版所 在 学 院: 信息工程学院 专 业 名 称: 自动化专升本13-1 姓 名: 学 号: 指 导 教 师: 前 言这次课设我做的是学生成绩管理系统,本系统依据开发要求主要针对于教育系统,完成对日常的教育工作对学生成绩档案及其他信息的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,使各项管理更加规范化。现在在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了

2、学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。目前,学校工作繁杂、资料重多,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的,但由于知识积累及时间关系,这次课设我所设计的系统不是很完善,有些地方没有考虑到,所以实用性大打折扣,后面有时间将会将系统设计的全面些,更具有实用性。 在这次课设的开发过程中,我注意使其符合软件工程的设计的要求,在之前准备了许多时间来设计表结构,并将各个模块的流程画出来,使系统的各个模块功能完善,并力求系统应具有实用性、可靠性和适用性方便用户的操作,尽量减少用户的操作,并且能够对查询结果进行分类

3、汇总,该系统还有许多不尽如人意的地方,比如用户界面不够美观,对于出错处理不够等多方面问题,这些都有待进一步改善。目 录一设计目的3二问题描述3三.需求分析3四概要设计41.系统的功能分析62.系统功能模块图73.配置数据源8五详细设计10六程序设计说明121运行程序,首先出现登录界面122.进入系统133.显示功能144.查询功能145删除功能156修改记录167添加记录168年级成绩17七.设计总结25八参考文献26一设计目的 通过课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。二问题描述系统功能基

4、本要求 : 1学生信息维护; 2教师信息维护; 3. 课程信息维护; 4学生选课信息; 5. 任课教师操作课程成绩;6. 学生查询课程成绩。三.需求分析“学生成绩管理信息系统”包括四个模块:成绩录入、班级统计、年级统计、系统功能。这四个模块既相互联系又相互独立,班级统计、年级统计模块必须以成绩录入为基础。(1)成绩录入模块:主要功能用来对学生的成绩进行收集和修改。具体包括学生成绩录入、修改、增加、删除、查询等功能,成绩录入需要分班级、分年级以及某个时间考试的各门功课的成绩。修改要与成绩录入相对应。增加、删除是对基本表的操作。查询条件设置应该齐全,可以班级查询,年级查询,也可以姓名查询,学号查询

5、等等。(2)班级统计模块:主要功能用来对学生的成绩以班级为单位进行处理。具体包括各班学生总成绩、平均成绩、班级排名及统计班级某分数段内的学生人数;各个学生该科成绩、班级排名及统计班级某分数段内的学生人数。各项统计仅对于某学期某次考试而言。(3)年级统计模块:主要功能用来对学生的成绩以年级为单位进行处理。具体包括各年级学生总成绩、年级排名统计年级某分数段内的学生人数;各个学生该科成绩、年级排名及统计、年级某分数段内的学生人数。各项统计仅对于某学期某次考试而言,在统计时,还应注意各年级考试科目不同。(4)系统功能模块:关于系统及退出系统。四概要设计在概要设计里,根据系统需求设计系统EI图,程序流图

6、,系统功能模块图等信息,并配置了数据源。课程号成绩编号学生学号学号班号科目图1系统EI图 图2学生信息 图3功能模块图查询条件满足条件数据库显示结果退出不符合条件图4查询模块流程图学生成绩学号姓名考试日期操作系统数据库组成原理计算机网络数据结构班级班级号年级号班级人数总人数图5班级与学生成绩流图1.系统的功能分析该学生成绩管理系统是基于网络在线的学生成绩管理系统,在系统中分为大的两个方面:一是教师登录页面、二是学生登录页面。(1)教师进入学生成绩管理系统的主要功能是:实现添加用户、添加成绩、学籍信息修改、修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。(2)学生进行学生成绩管

7、量系统的主要功能是:实现修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。2.系统功能模块图图6教师功能模块图教师在学生成绩管理系统中能够对所有学生的成绩查看,对学生按学号进行精确查询、按学生姓名进行模糊查询,可以修改自己的登录密码,添加用户,添加学生的成绩,打印学生的学籍信息。 退出系统信息查询修改密码选课课程查询成绩查询登录系统首页学生功能界面图7学生功能模块学生在系统中的基本功能是对自己所有成绩的查询,课程的查询,个人登录密码的修改,基本信息的查看,选课,打印自己的学籍信息。3.配置数据源在使用数据库之前,在控制面板à管理系统里面选择数据源,配置数据库,将所创建

8、的数据库表格与操作系统所带的ODBC关联起来。添加完成后,在VC+里用自带的函数库来连接数据库, 并添加创建或者添加,删除,修改等等基本功能。图8配置数据源图9添加一个数据源在用户DSN中,添加一个数据源,并选择ACCESS的数据源驱动程序,创建好后,与已经建好的数据库连接,确定后数据库与ODBC的连接则创建完成,可以选择前台开发工具进行开发。五详细设计本系统定义的数据库中包含以下5个表:学生信息表,成绩表,课程表,代课教师表,班级表。下面介绍这些表的结构。学生信息表:用于记录学生的信息,包括学号,姓名等等。成绩表:用于保存学生成绩信息,包括学号,课程号,成绩等字段。课程表:用于保存课程信息。

9、代课教师表:用于保存各门课代课老师的信息。班级表:用于保存不同专业班级。(1)学生信息表 (2)课程表图10学生信息表 图11课程表(3)成绩管理系统教师表 (4)班级表 图12教师表 图13班级表(5)成绩表图14成绩表六程序设计说明1运行程序,首先出现登录界面图15登录界面输入用户名和密码,若用户名和密码正确则进入系统。 图16输入错误提示若出错,则弹出对话框要求用户重新输入。2.进入系统图17进入系统图10提示进入系统。图18主界面3.显示功能图19功能显示4.查询功能图20查询功能图21显示根据查询条件将学生成绩信息显示到主界面上。5删除功能 图22删除功能根据学生学号删除对应学生信息

10、。6修改记录 图23修改成绩拥有管理员权限的用户删除学生成绩信息。7添加记录图24添加学生和成绩信息用来添加学生记录。8年级成绩图25显示年级记录将年级所有学生课程成绩及科目全部显示出来。部分程序如下:、主程序代码;SINFOR.cppSINFOR.cpp : Defines the class behaviors for the application.#include "stdafx.h"#include "SINFOR.h"#include "MainFrm.h"#include "SINFORDoc.h"#

11、include "SINFORView.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif CSINFORAppBEGIN_MESSAGE_MAP(CSINFORApp, CWinApp)AFX_MSG_MAP(CSINFORApp)ON_COMMAND(ID_APP_ABOUT, OnAppAbout)NOTE - the ClassWizard will add and remove mapping macros here.DO NOT EDI

12、T what you see in these blocks of generated code!AFX_MSG_MAPStandard file based document commandsON_COMMAND(ID_FILE_NEW, CWinApp:OnFileNew)ON_COMMAND(ID_FILE_OPEN, CWinApp:OnFileOpen)Standard print setup commandON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp:OnFilePrintSetup)END_MESSAGE_MAP()CSINFORApp cons

13、tructionCSINFORApp:CSINFORApp()TODO: add construction code here,Place all significant initialization in InitInstanceThe one and only CSINFORApp objectCSINFORApp theApp;CSINFORApp initializationBOOL CSINFORApp:InitInstance()AfxEnableControlContainer(); Standard initializationSetDialogBkColor(RGB(181,

14、255,255),RGB(181,255,255);If you are not using these features and wish to reduce the sizeof your final executable, you should remove from the followingthe specific initialization routines you do not need.#ifdef _AFXDLLEnable3dControls();Call this when using MFC in a shared DLL#elseEnable3dControlsSt

15、atic();Call this when linking to MFC statically#endif/Change the registry key under which our settings are stored.TODO: You should modify this string to be something appropriatesuch as the name of your company or organization.SetRegistryKey(_T("Local AppWizard-Generated Applications");Load

16、StdProfileSettings();Load standard INI file options (including MRU)Register the application's document templates. Document templatesserve as the connection between documents, frame windows and views.CSingleDocTemplate* pDocTemplate;pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLAS

17、S(CSINFORDoc),RUNTIME_CLASS(CMainFrame),main SDI frame windowRUNTIME_CLASS(CSINFORView);AddDocTemplate(pDocTemplate);Parse command line for standard shell commands, DDE, file openCCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);Dispatch commands specified on the command lineif (!ProcessShellComman

18、d(cmdInfo)return FALSE;The one and only window has been initialized, so show and update it.m_pMainWnd->ShowWindow(SW_SHOW);m_pMainWnd->UpdateWindow();return TRUE;CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();Dialog DataAFX_DATA(CAboutDlg)enum IDD = IDD_A

19、BOUTBOX ;AFX_DATAClassWizard generated virtual function overridesAFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); DDX/DDV supportAFX_VIRTUALImplementationprotected:AFX_MSG(CAboutDlg)No message handlersAFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAbout

20、Dlg:IDD)AFX_DATA_INIT(CAboutDlg)AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);AFX_DATA_MAP(CAboutDlg)AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)AFX_MSG_MAP(CAboutDlg)No message handlersAFX_MSG_MAPEND_MESSAGE_MAP()App command to run the dialogvoid CSI

21、NFORApp:OnAppAbout()CAboutDlg aboutDlg;aboutDlg.DoModal();CSINFORApp message handlersvoid CSINFORDoc:AssertValid() constCDocument:AssertValid();void CSINFORDoc:Dump(CDumpContext& dc) constCDocument:Dump(dc);#endif /_DEBUGCSINFORDoc commandsvoid CSINFORDoc:OnFileAdd() AddDlg dlg; CString Num;CStr

22、ing b;if(dlg.DoModal()=IDOK)Num=dlg.m_sNum;Num=".Lib"+Num+".txt"CStdioFile file(Num,CFile:modeCreate | CFile:modeWrite); file.WriteString(dlg.m_sNum+"n");file.WriteString(dlg.m_sName+"n");file.WriteString(dlg.m_sSex+"n");file.WriteString(dlg.m_sGrad+

23、"n");file.WriteString(dlg.m_sClass+"n");file.WriteString(dlg.m_sMath+"n");file.WriteString(dlg.m_sC+"n");file.WriteString(dlg.m_sEng+"n");file.WriteString(dlg.m_sDawu+"n");file.WriteString(dlg.m_sGailun+"n"); file.Close(); Message

24、Box(NULL,"增加成功!","添加信息",MB_OK);TODO: Add your command handler code herevoid CSINFORDoc:OnFileCheck() CCheck dlg;CString Num;/CString b;if(dlg.DoModal()=IDOK)if(dlg.m_sNum.GetLength()=0)dlg.m_sNum=dlg.m_listNum;Num=dlg.m_sNum;Num=".Lib"+Num+".txt"MessageBox(NUL

25、L,Num,"234",MB_OK);CStdioFile file(Num,CFile:modeRead);file.ReadString(m_sNum); file.ReadString(m_sName); file.ReadString(m_sSex); file.ReadString(m_sGrad); file.ReadString(m_sClass);file.ReadString(m_sMath);file.ReadString(m_sEng);file.ReadString(m_sC);file.ReadString(m_sDawu);file.ReadSt

26、ring(m_sGailun);file.Close();UpdateAllViews(NULL);TODO: Add your command handler code herevoid CSINFORDoc:OnFileUpdata() UpdataDlg dlg; dlg.m_sName=m_sName;dlg.m_sNum=m_sNum;dlg.m_sSex=m_sSex;dlg.m_sGrad=m_sGrad;dlg.m_sClass=m_sClass;dlg.m_sMath=m_sMath;dlg.m_sEng=m_sEng;dlg.m_sC=m_sC;dlg.m_sDawu=m_

27、sDawu;dlg.m_sGailun=m_sGailun;CString Num; if(dlg.DoModal()=IDOK)Num=dlg.m_sNum;Num=".Lib"+Num+".txt"CStdioFile file(Num,CFile:modeReadWrite);file.WriteString(dlg.m_sNum+"n");file.WriteString(dlg.m_sName+"n");file.WriteString(dlg.m_sSex+"n");file.Wri

28、teString(dlg.m_sGrad+"n");file.WriteString(dlg.m_sClass+"n");file.WriteString(dlg.m_sMath+"n");file.WriteString(dlg.m_sC+"n");file.WriteString(dlg.m_sEng+"n");file.WriteString(dlg.m_sDawu+"n");file.WriteString(dlg.m_sGailun+"n"); file.Close(); MessageBox(NULL,"修改成功!","修改信息",MB_OK); UpdateAllViews(NULL);/ TODO: Add your command handler code herevoid CSINFORDoc:OnFileDel() Delinfor dlg;CString szNum=""if(dlg.DoModal()=IDOK)szNum=dlg.m_sNum;CFil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论