c++课程设计学生档案管理系统报告Word文件下载.docx
《c++课程设计学生档案管理系统报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《c++课程设计学生档案管理系统报告Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。
学生管理工作是学校各项工作的一个重要部分,其管理水平的高低将直接影响到人才的培养质量。
面对庞大的信息量,如何有效地提高学生管理工作的效率是一个学校急需解决的问题。
学生档案管理系统的设计目标是实现对学生信息的科学化、规范化管理,提高校园管理的效率,为高水平的校园管理提供保证。
学生档案管理系统作为学校管理中的一个子系统,与其它子系统,如教学管理系统、人事管理系统、后勤管理系统、图书管理系统等一起构成校园信息管理系统,为校园管理信息化提供一个子功能。
所以,几乎所有的大、中、小学校都需要一套这样的管理系统来提高日常的工作效率。
经分析学生档案管理系统一般主要有以下几项功能要求:
●学生信息的录入与修改,包括基本信息、照片、教育经历、奖惩记录和学籍变动等。
●院系信息的查看,包括院系调整信息等。
课程设置信息的查询。
●学生成绩的管理,包括成绩的录入、修改和删除等。
●系统用户的查询和修改,包括系统用户的权限和密码设置等。
功能的齐全与操作的方便性,将大大提高学生档案的管理效率,可以说,学生档案管理系统是每个学校办公当中必备的一套管理系统,其需求是不言面喻的。
2、系统总体框架
图1系统框架图
3、系统流程图
系统的数据流程图如下所示。
用户登录系统以后,根据用户的权限,可以执行不同的操作。
教务处管理人员可以输入学生信息、院系信息、课程信息等,教师可以录入学生成绩,学生可以查询信息和成绩。
用户操作完成以后,可以注销此次曾登录,然后退出系统。
图2系统流程图
4、模块设计与分析
根据系统功能的要求可以将系统分解成院系管理、学生及基本信息管理、学生照片管理、学生教育经历管理、奖惩管理、学籍管理、课程设置管理、学生成绩管理和系统用户管理等九个功能模块。
●院系管理:
包括设置院系、专业、班级等,并能进行院系调整,包括增加新的院系、专业、班级和删除某些院系、专业、班级。
●学生基本信息管理:
包括学生学号、姓名、性别、年龄、籍贯、入学时间等,当有新生到校时,就启动相应的信息管理功能,对所有的学生信息进行入库,随时掌握学生的基本信息,并能对错误信息进行修改和删除。
●学生照片管理:
用来管理学生照片的,一个学号对应着一张照片,对学生照片可以进行录入、修改、删除和查看等。
●学生教育经历管理:
记录学生受教育过程的,包括学生小学、初中、高中就读的年限以及学校。
●奖惩管理:
针对学生在校的表现情况,对学生进行相应的处理工作,奖励的项目有各种奖学金和文体奖励,处罚的项目有通报批评、警告、严重警告、记过、留校查看、开除等。
●学籍管理:
主要是对学生的学籍变更情况及时控制和管理,变更的原因有转系、休学、复学、退学和毕业离校。
●课程设置管理:
包括课程编号、课程号、学时、学分、任课教师和上课地点等。
●成绩管理:
数据量比较大的管理工作,每次考试结束后负责对学生各个科目的成绩入库工作和对数据库成绩出错的校对工作。
●系统用户管理:
主要是执行数据库的运行权限管理,例如学生只具有查询功能,教师可以录入、修改成绩等,而管理员具有最高权限,可以录入、修改学生信息、奖惩信息以及学籍变动信息等。
5、类的设计与分析
如图3本系统共有23个类,以下主要分析与本系统内容直接相关的类,它们分别为:
CCourseDlg类、CDepartmentDlg、CEncPunDlg类、CExperienceDlg类、CLoginDlg类、CPhotoDlg类、CScoreDlg类、CStuManageDlg类、CUserDlg类
图3StuManage全部类
5.1、CCourseDlg类
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);
//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
//Generatedmessagemapfunctions
//{{AFX_MSG(CCourseDlg)
virtualBOOLOnInitDialog();
afx_msgvoidOnAddCourseBtn();
afx_msgvoidOnCourseExecute();
afx_msgvoidOnDelCourseBtn();
afx_msgvoidOnModifyCourseBtn();
afx_msgvoidOnSelChangeDatagridCourse(shortFAR*Cancel);
afx_msgvoidOnChangeEditCourseId();
afx_msgvoidOnLookforCourseBtn();
DECLARE_EVENTSINK_MAP()
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
classCCourseDlg:
publicCDialog
{
//Construction
public:
CCourseDlg(CWnd*pParent=NULL);
_RecordsetPtrm_pRecordset;
inttype;
//1=add,2=del,3=modify
//DialogData
//{{AFX_DATA(CCourseDlg)
enum{IDD=IDD_COURSE_DLG};
CDataGridm_dgCourse;
CStringm_strCourseHour;
CStringm_strCourseId;
CStringm_strCourseName;
CStringm_strCoursePeriod;
CStringm_strCoursePlace;
CStringm_strCourseTeacher;
//}}AFX_DATA
//Overrides
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CCourseDlg)
表1CCourseDlg类说明表
名称
属性
说明
m_strCourseHour
CString变量
学分
m_strCourseId
课程编号
m_strCourseName
课程名称
m_strCoursePeriod
学时
m_strCoursePlace
上课地点
m_strCourseTeacher
任课老师
m_dgCourse
CDataGrid变量
课程列表
OnAddCourseBtn()
方法
增加课程
OnCourseExecute()
确定
OnDelCourseBtn
删除课程
OnModifyCourseBtn()
修改
OnLookforCourseBtn()
查询
5.2、CDepartmentDlg类
classCDepartmentDlg:
CDepartmentDlg(CWnd*pParent=NULL);
//standardconstructor
_RecordsetPtrm_pRecordset_dep;
_RecordsetPtrm_pRecordset_spe;
_RecordsetPtrm_pRecordset_cla;
voidSetStatus(BOOLstatus1,BOOLstatus2,BOOLstatus3);
intm_flag;
//{{AFX_DATA(CDepartmentDlg)
enum{IDD=IDD_DEPARTMENT_DLG};
CTreeCtrlm_treeDepartment;
CStringm_strClass;
CStringm_strDepartment;
CStringm_strSchool;
CStringm_strSpeciality;
//}}AFX_DATA
//{{AFX_MSG(CDepartmentDlg)
afx_msgvoidOnSelchangedTreeDepartment(NMHDR*pNMHDR,LRESULT*pResult);
afx_msgvoidOnAddDepartmentBtn();
afx_msgvoidOnAddDepartmentBtnNext();
afx_msgvoidOnExecuteDepartmentBtn();
afx_msgvoidOnDeleteDepartmentBtn();
表2CDepartmentDlg类说明表
m_treeDepartment
CTreeCtrl变量
院系树
m_strClass
班级
m_strDepartment
院系
m_strSchool
学校
m_strSpeciality
专业
OnAddDepartmentBtn()
新增同级别
voidOnAddDepartmentBtnNext()
新增下一级别
OnExecuteDepartmentBtn()
删减
OnDeleteDepartmentBtn()
5.3、CEncPunDlg类
BOOLm_add;
//{{AFX_MSG(CEncPunDlg)
afx_msgvoidOnViewEncfunBtn();
afx_msgvoidOnAddEncfunBtn();
afx_msgvoidOnEncfunSaveBtn();
classCEncPunDlg:
CEncPunDlg(CWnd*pParent=NULL);
//{{AFX_DATA(CEncPunDlg)
enum{IDD=IDD_ENC_PUN_DLG};
CDateTimeCtrlm_timectrl;
CComboBoxm_cbEncFun;
CTimem_timeEncFun;
CStringm_strEncFunMark;
CStringm_strStudentName;
CStringm_strEncFun;
CStringm_strStudentId;
intm_looktype;
CDataGridm_dgResult;
表3CEncPunDlg类说明表
m_strStudentId
学号
m_strStudentName
姓名
m_strEncFunMark
CString变量
奖惩项
m_strEncFun
奖惩时间
m_cbEncFun
CComboBox变量
m_timectrl
CDateTimeCtrl变量
备注
m_timeEncFun
CTime
OnViewEncfunBtn()
查看奖惩项
OnAddEncfunBtn()
增加奖惩项
OnEncfunSaveBtn()
保存奖惩项
5.4、CExperienceDlg类
classCExperienceDlg:
CExperienceDlg(CWnd*pParent=NULL);
//{{AFX_MSG(CExperienceDlg)
afx_msgvoidOnAddExperienceBtn();
afx_msgvoidOnDeleteExperienceBtn();
afx_msgvoidOnModifyExperienceBtn();
afx_msgvoidOnSaveExperienceBtn();
afx_msgvoidOnLookforExperienceBtn();
afx_msgvoidOnKillfocusEditExpId();
intaction;
intSelectType;
enum{IDD=IDD_EXPERIENCE_DLG};
CEditm_ID;
CDateTimeCtrlm_timectrlSenStart;
CDateTimeCtrlm_timectrlJunStart;
CDateTimeCtrlm_timectrlEleStart;
CDateTimeCtrlm_timectrlJunEnd;
CDateTimeCtrlm_timectrlEleEnd;
CDateTimeCtrlm_timectrlSenEnd;
CDataGridm_dgExperience;
CStringm_strEleSchool;
CStringm_strId;
CStringm_strName;
CStringm_strJunSchool;
CStringm_strSenSchool;
CTimem_timeEleEnd;
CTimem_timeJunEnd;
CTimem_timeSenEnd;
CTimem_timeEleStart;
CTimem_timeJunStart;
CTimem_timeSenStart;
表4CExperienceDlg类说明表
m_dgExperience
教育经历列表
m_strEleSchool
小学学校
m_strJunSchool
初中学校
m_strSenSchool
高中学校
m_strId
m_strName
m_timeEleStart
CTime变量
小学入学时间
m_timectrlEleStart
m_timeEleEnd
小学毕业时间
m_timectrlEleEnd
m_timeJunStart
初中入学时间
m_timectrlJunStart
m_timeJunEnd
初中毕业时间
m_timectrlJunEnd
m_timeSenStart
高中入学时间
m_timectrlSenStart
m_timeSenEnd
高中毕业时间
m_timectrlSenEnd
OnAddExperienceBtn()
增加学生教育经历
OnDeleteExperienceBtn()
删除学生教育经历
OnModifyExperienceBtn()
修改学生教育经历
OnSaveExperienceBtn()
保存学生教育经历
OnLookforExperienceBtn()
查询学生教育经历
OnKillfocusEditExpId()
按学生学号查询
5.5、CLoginDlg类
//{{AFX_VIRTUAL(CLoginDlg)
//{{AFX_MSG(CLoginDlg)
afx_msgvoidOnLoginBtn();
classCLoginDlg:
CLoginDlg(CWnd*pParent=NULL);
_RecordsetPtrm_pRecordset_user;
//{{AFX_DATA(CLoginDlg)
enum{IDD=IDD_LOGIN_DLG};
CStringm_strLoginPwd;
CStringm_strLoginName;
intm_nLoginLevel;
表5CLoginDlg类说明
m_strLoginPwd
登录密码
m_strLoginName
登录用户
m_nLoginLevel
int变量
登录权限
OnLoginBtn()
确定登录
5.6、CPhotoDlg类
enum{IDD=IDD_PHOTO_DLG};
afx_msgvoidOnAddPhotoBtn();
afx_msgvoidOnModifyPhotoBtn();
afx_msgvoidOnDeletePhotoBtn();
afx_msgvoidOnExecutePhotoBtn();
afx_msgvoidOnLookforPhotoBtn();
afx_msgvoidOnPaint();
classCPhotoDlg:
CPhotoDlg(CWnd*pParent=NULL);
_RecordsetPtrm_pRecordset;
intaction;
HBITMAPm_hPhotoBitmap;
DWORDm_nFileLen;
HBITMAPBufferToHBITMAP();
BOOLLoadBMPFile(constchar*pBMPPathname);
char*m_pBMPBuffer;
voidDestroyPhoto();
voidDrawUserPhoto(intx,inty,CDC*pDC);
afx_msgvoidOnSelPhotoBtn();
afx_msgvoidOnKillfocusEditPhotoId();
DECLARE_MESSAG