-1-摘要:学籍管理信息系统是高校管理的重要组成部分,为老师、同学提供存档、查询等手段。根据教学安排,我们有两周的时间进行学籍管理信息系统课程设计,我们小组团结一心,分工明确,积极讨论,终于在组员的努力下及老师的指导帮助下,我们顺利完成了本次课程设计,系统包括学生资料设置,成绩设置,成绩、排名查询,修改资料关键字:系统查询课程设计论文管理-2-目录第一章绪论-------------------------------------------------(1)1.1课程设计背景………………………………………………………11.2课程设计目的………………………………………………………11.3课程设计思路………………………………………………………1第二章系统总体规划-----------------------------------------(2)2.1前期准备……………………………………………………………22.2系统功能……………………………………………………………2第三章系统分析设计-----------------------------------------(3)3.1建立MFC主界面及代码设计………………………………………33.2学生资料设置及代码设计…………………………………………103.3学生成绩设置及代码设计…………………………………………193.4查询功能及代码设计………………………………………………283.5修改密码功能及代码设计…………………………………………303.6删除功能及代码设计………………………………………………343.7修改功能及代码设计………………………………………………36第四章界面设计与实现----------------------------------------(37)4.1学生信息管理系统…………………………………………………374.2学生资料设置………………………………………………………374.3成绩设置……………………………………………………………384.4学生资料显示………………………………………………………384.5成绩显示……………………………………………………………394.6修改密码……………………………………………………………39总结---------------------------------------------------------(40)工作安排-----------------------------------------------------(43)参考文献-----------------------------------------------------(44)-3-第一章绪论1.1课程设计背景经过一个学期对《C++程序设计》的学习,学习到了基本的理论知识,了解到了C++语言程序设计的思想,现在把这些知识运用到实际中来。学籍管理信息系统是高校管理的重要组成部分,它能够为用户提供充足的信息和快捷的查询手段。使用计算机对学生资料、成绩信息进行管理,能够极大的提高学生管理的效率,节约教育经费,这也是适应学校信息化建设发展趋势的重要因素。因此我们有必要开发学籍管理信息系统。1.2课程设计目的全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类、对象、继承与派生、多态、虚函数、模板、流类库等。遵循软件过程的各个环节进行系统分析、设计、实现、集成、测试,并相应给出软件规格说明书等制品。了解当前常用的软件开发工具(VisualC++),要求熟练掌握基于MFC的程序设计,培养解决实际问题的能力。1.3课程设计思路实现学生基本情况的录入、修改、删除等基本操作;能实现学生成绩的录入、修改、删除等基本操作;能方便的对学生的各个学期成绩进行统计;能具有成绩统计、排名等功能;可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。-4-第二章系统总体规划2.1前期准备学习C++6.0课本理论知识,查找、搜集相关资料,讨论出具体思路、方法,在整个过程中周老师给了我们必不可少的许多指导,使我们能够顺利地完成前期各项工作。2.2系统功能基于系统需求分析,该系统具有以下基本功能:用户管理:管理系统操作人员,设置操作人员账号、密码、用户资料等。用户资料:学生通过登录,可以查询到自己的资料、成绩、排名,同时可以修改密码。成绩管理:管理员根据学生成绩保存到系统中,同时可计算出综合排名、平均分等信息。基础数据管理:维护学生资料,主要包括院系、专业设置,联系方式、学号等个人信息设置等。功能图登录系统查询成绩\排名\平均分管理员登陆注册用户资料设置成绩查询用户资料学生登录修改密码-5-第三章系统分析设计3.1建立MFC主界面及代码设计#includestdafx.h//头文件#include学生信息管理系统.h#include学生信息管理系统Dlg.h#includexueshengziliao2.h#includexueshengziliao1.h#includestu.h#includefstream.h#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endifclassCAboutDlg:publicCDialog//定义类CAboutDlg及数据和方法{public:CAboutDlg();enum{IDD=IDD_ABOUTBOX};protected:virtualvoidDoDataExchange(CDataExchange*pDX);protected:DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){}voidCAboutDlg::DoDataExchange(CDataExchange*pDX)-6-{CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)END_MESSAGE_MAP()CMyDlg::CMyDlg(CWnd*pParent)//构造函数:CDialog(CMyDlg::IDD,pParent){m_xuehao2=0.0f;m_mima=0.0f;m_hIcon=AfxGetApp()-LoadIcon(IDR_MAINFRAME);}voidCMyDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);DDX_Text(pDX,IDC_EDIT1,m_xuehao2);DDX_Text(pDX,IDC_EDIT2,m_mima);}BEGIN_MESSAGE_MAP(CMyDlg,CDialog)//窗口链接函数的实现ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_guanliyuandenglu,Onguanliyuandenglu)ON_BN_CLICKED(IDC_xueshengdenglu,Onxueshengdenglu)ON_BN_CLICKED(IDC_guanbi,Onguanbi)END_MESSAGE_MAP()BOOLCMyDlg::OnInitDialog()//布尔函数的实现{CDialog::OnInitDialog();-7-ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX0xF000);CMenu*pSysMenu=GetSystemMenu(FALSE);if(pSysMenu!=NULL){CStringstrAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if(!strAboutMenu.IsEmpty()){pSysMenu-AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);}}SetIcon(m_hIcon,TRUE);SetIcon(m_hIcon,FALSE);returnTRUE;}voidCMyDlg::OnSysCommand(UINTnID,LPARAMlParam){if((nID&0xFFF0)==IDM_ABOUTBOX){CAboutDlgdlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID,lParam);-8-}}voidCMyDlg::OnPaint()//添加背景图片{if(IsIconic()){CPaintDCdc(this);SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);intcxIcon=GetSystemMetrics(SM_CXICON);intcyIcon=GetSystemMetrics(SM_CYICON);CRectrect;GetClientRect(&rect);intx=(rect.Width()-cxIcon+1)/2;inty=(rect.Height()-cyIcon+1)/2;dc.DrawIcon(x,y,m_hIcon);}else{//CDialog::OnPaint();//要禁止这个调用CPaintDCdc(this);CRectrect;GetClientRect(&rect);CDCdcMem;dcMem.CreateCompatibleDC(&dc);CBitmapbmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP1);BITMAPbitmap;bmpBackground.GetBitmap(&bitmap);CBitmap*pbmpOld=dcMem.SelectObject(&bmpBackground);-9-dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);}}HCURSORCMyDlg::OnQueryDragIcon()//最小化窗口{return(HCURSOR)m_hIcon;}voidCMyDlg::Onguanliyuandenglu()//管理员登录{this-UpdateData(true);if(m_mima==123&&m_xuehao2==321){xueshengziliao2a;this-OnCancel();//跳出此窗口时关闭此窗口a.DoModal();//跳转到另一窗口}elsethis-MessageBox(管理员的学号或密码输入错误!);}VoidCMyDlg::Onxueshengdenglu()//学生登录{structstustu;boolnum=false;boolcode=false;intfind=0;this-UpdateData(true);ifstreamii(data.txt);//读取数据while(ii.eof()==0)-10-{ii.read((char*)&stu,sizeof(stu));if(stu.xuehao==m_xuehao2){find=1;break;}}ii.close();if(find==0){this-MessageBox(该学号尚未注册!);}else{num=true;if(s