




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+课程设计报告学生信息管理系统学院: 数学与计算科学学院 专业: 信息与计算科学 班级: 10级信计1班 学号: 1007020101 姓名: 王星星 _ 指导老师: 李建湘 _ 设计日期: 2011年11月29日2011年12月21日 目 录一、摘要2二、绪论31、课程设计的背景32、课程设计的意义33、可行性分析34、课程设计的相关理论4 三、系统总体设计61、系统功能设计62、系统结构设计63、系统概念设计74、系统逻辑设计75、系统物理设计7四、系统实现过程7五、系统创新之处23六、系统存在的问题与不足24七、课程设计的收获与感想24八、课程设计总结24学生信息管理系统一、摘要自从1
2、9世纪60年代电子计算机诞生以来,它就凭借自身强大的功能和充分增强人类生活、工作效率的作用而深受人类推崇。特别在21世纪,这个飞速发展的时代,计算机的应用更是深入到社会的各个角落。作为当代最具潜力的大学生群体,我们更应推动和实践计算机信息系统在生活、娱乐、管理等方面的应用,为将来的工作和发展奠定基础。本系统为简易的学生信息管理系统(姑且这么称呼吧),主要作用是实现对学生的基本信息和学籍成绩的管理。本系统采用了Microsoft Visual C+ 6.0中的MFC类库和Microsoft Office Access 2003相结合的结构开发程序。Visual C+ 6.0是Microsoft推
3、出的一个功能强大的可视化集成开发环境,其中MFC是Microsoft的基础类库,其核心是以C+类的形式封装了Windows的API函数,其中的类可以充分支持Windows应用程序开发,而且它提供了对数据库程序设计的强大支持。Access 2003是Microsoft Office 2003套件产品之一,是世界上最流行的桌面数据库系统之一,最突出的优点是:不用编写一行代码,就可以在很短的时间内开发出一个功能强大的数据库应用程序。本报告充分展现了整个系统从分析到设计再到实现的具体过程,其耗费了我巨大的心血,从中我学到了许多知识和技能,我相信它们对我今后的工作和处世方面都将有不可磨灭的贡献。关键词:
4、学生信息管理系统 MFC类库 Access数据库二、绪论1、课程设计的背景随着现代社会信息技术的发展,社会经济结构、生产方式和消费结构已经发生了重大变化,这些变化深刻影响着人类生活的各个方面。尤其是近几年人们对计算机的依赖性越来越强,可以说,现代社会就是建立在计算机基础上的,但是人们对于计算机系统也提出了更高的要求。随着计算机信息系统的不断发展,传统的Visual C+编程技术已经满足不了社会的要求,因此能支持数据库的MFC类库应运而生。微型计算机在商业上的应用,就要求用户能快速访问一个大型数据库中的单个记录,而VC里面就包含了编写Microsoft Windows环境下C+数据库应用程序所需
5、的所有组件。最受欢迎的C+编程软件和最流行的Access数据库软件的完美搭配,无疑是给管理人员提供了一个方便之门。2课程设计的意义当前国内各类企业对IT技术人员的需求日益旺盛,已经远远超过了传统学历教育所能满足的数量。据不完全统计,中国在本世纪初的IT人才需求量为60万,缺口则高达40多万,而每年大学培养的专业人才仅有5万,供需的巨大差距造成软件人才的极度缺乏。C+课程设计是我们大学生在大学中面临的第一次软件编程的实战演练,它不同于我们以往我们普通的编程,这需要我们很强的逻辑思考能力和必要的程序编程知识,这是对我们这些教育理论与实践脱节的大学生的一次严峻考验。它让我们了解到自己对书本的过度依赖
6、这一缺点,借用这次机会,我们不仅可以掌握自学的要领,而且能够锻炼自己充分把书本知识用于实践的能力。另外,我们可以掌握并实践C+中许多平时不知道的功能,这对我们今后从事软件开发和网络技术都有很大帮助。3、可行性分析学生管理系统是对学生基本信息和学籍成绩的管理,可以说是学校教务系统的一个简单的分支。本系统使用C+的MFC类库进行实现,而MFC类库提供了对Access数据库的支持。先在Access中编写一个小型数据库,在通过C+与Access的信息连接来实现用MFC对数据库的操作,这样的可行性是非常大的。而且这个学生信息管理系统包含的信息虽然不是很多,但仍有一定的实用价值,可以展现学生的基本信息,而
7、且可以实时对数据库做出一定的更改。总之,本学生信息管理系统无论在设计、实现,还是应用上,可行性都比较高。4、课程设计的相关理论课程设计就是在学完一门理论之后自己动手实现的一个较复杂的系统,它是对我们所学知识的检验和提升。下面就Microsoft Visual C+ 6.0、MFC类库和Access数据库作简要介绍。 Microsoft Visual C+ 6.0Microsoft Visual C+,这套功能强大的Windows应用程序开发系统是由Microsoft C/C+演化而来的,它包含了支持Windows 95、Windows NT 4.0及Windows 98的Win 32 SDK
8、文档,是Visual Studio的重要组成元素,是集创建、编译、链接、运行和调试为一体的软件集成开发环境。Visual C+最主要的特点:可视化编程和支持面向对象的编程技术,其中包括项目工作区、ClassWizard、AppWizard、WizardBar等。此外,Visual C+ 6.0的主要特点还有集成开发环境、向导、最快的集成数据库访问(采用ODBC类或ADO类)、强有力的Internet支持。在Visual C+开发环境中,程序员可以利用Windows提供的API(应用程序编程接口)函数编写Windows应用程序。 MFC类库MFC(Microsoft Foundation Cla
9、ss)是一个应用程序的框架结构。MFC不仅仅是一个类集合,他还帮助定义了应用程序的结构并为应用程序处理许多杂务。MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。MFC的特点:MFC完整的封装了Windows API函数;减少了大量在建立Windows程序时必须编写的代码;效率高,可靠性高。MFC的类层次:Visual C+ 6.0版本的MFC类库包含200多个类,下面着重介绍几个常用。(1) CObject类,MFC中最重要也最基本的类之一,派生出窗口类、文件类、网络类等,包含对运行时类信息的支持、对动态创
10、建的支持、对串行化的支持、对象诊断输出等。(2)文件类,用于文档数据的存储、调出以及修改文档数据,包括CFile类等。(3)窗口类,包括窗口支持类(CWnd)、窗口框架类(CFrameWnd)、视图类、空间类和对话框类。(4)视图类,CView,广泛用于基于文档的应用程序。(5)对话框类,CDiolog,包括选择颜色、选择字体、打印、查找、替换等通用对话框。(6)网络类,用于开发网络程序。(7)ODBC类,包括Cdatabase(封装了对数据源的连接操作)、CRecordset(封装了从数据源中选择记录)、CRecordView(封装了对记录集的数据显示操作)、CDBException(数据库
11、操作的异常类) Windows应用程序的基本结构开始取事件并处理退出?停止发送事件输入界面1输入界面2输入界面3图1 Microsoft Office Access 2003 数据库,顾名思义就是存放数据的一些仓库,是一些关于每个特定主题或目的的信息集合,它以一定的格式存放在计算机的存储器上,用户能方便的管理这些数据。数据库有4个主要部分:数据、联系、约束和模式。Access 2003是一个面向对象的、采用事件驱动机制的新型关系数据库管理系统。一般情况下,Access数据库包括表、查询、窗体、报表、数据访问页、宏和模块7个对象,这些对象用于收集、存储和操作各种不同的信息。在Access中,用户
12、可以为每一种类型的信息创建一个表,将数据分别存放在自己创建的表中,然后可以通过联机窗体方便的查看、添加及更新表中的数据。MFC的ODBC(开放数据库互联)类对较复杂的ODBC API函数进行了封装,提供了简化的调用接口,从而大大方便了数据库应用程序的开发。三、系统总设计本系统是为了实现对学生信息的基本管理而编写的,其中包括学生信息日常工作中的基本操作。本系统的项目名称为学生信息管理系统1.0版。1、系统功能设计本系统包括对学生基本信息的处理操作,主要有以下几个功能:(1)信息输入 实现对学生基本信息的输入和添加,并保存到数据库(2)信息排序 实现对学生信息的排序,包括按学号排序、按姓名排序和按
13、学籍成绩排序(由低到高)(3)信息修改 实现对学生基本信息的修改,并保存到数据库(4)信息查询 实现对学生信息的查询,包括按学号查询和按姓名查询(5)信息删除 实现删除当前记录的功能(6)信息浏览 通过工具栏中的游标按钮来实现对信息的浏览2、系统结构设计开始登录窗口主窗口信息输入信息排序信息修改信息查询信息删除学号姓名成绩学号姓名设定条件设定条件输入指令图23、系统概念设计 学生信息管理系统实现对学生基本信息的输入、添加、排序、修改、查询、删除、浏览、保存等功能。通过MFC与数据库的连接来实现对“学生信息表”中数据的各项操作:通过系统登录进入系统,通过调用对话框来进行输入和修改,通过按钮控件来
14、实现信息的修改和查询,通过菜单操作来实现信息的排序和删除。在MFC的类框架中添加一定的代码来实现诸多功能。4、系统逻辑设计 用Access建立一张学生信息表Students,其中包括学生的学院、专业、学号、姓名、性别、年龄、学科、学籍成绩、家庭住址、宿舍区号和联系方式。用Windows操作界面下的“控制面板”来实现对ODBC数据源的连接,这样在MFC中就可实现对数据库中数据的操作。5、系统物理设计(1)用Access建立的学生信息表如下:图3(2)Visual C+中使用登录对话框、信息输入对话框和主窗口实现对学生信息的基本操作四、系统实现过程系统实现过程是课程设计的关键一步,下面我就对整个课
15、程设计的具体实现过程作如下阐述: 1、利用Microsoft Access 2003新建一个数据库Students,“使用设计器创建表”新建一张学生信息表,不设置主键,编辑表,此时可以设置其初始信息,以便在程序中使用,保存,退出Access。如图图4注:所设计的表格见上页2、在Windows XP环境下打开“控制面板”,双击“管理工具” 图标。双击“数据源(ODBC)”图标,弹出ODBC数据源管理器对话框,如图。 图53、在“ODBC数据源管理器”对话框中选中MS Access Datebase选项,单击“添加”按钮,弹出创建新数据源对话框,如图。图64、选择数据源驱动程序,再次选择Micro
16、soft Access Driver(*.mdb)程序后,单击“完成”按钮,弹出ODBC Microsoft Access安装对话框,如图。图75、在“数据源名”文本框中输入新建数据源的名称,在“说明”文本框中可以对该数据源进行说明。完成后,单击“选择”按钮,弹出选择数据库对话框,选择合适的数据库后,打击“确定”按钮,此时就已经完成了数据源与数据库的连接,应用程序对该数据源进行操作。图86、启动Visual C+6.0,选择文件|新建命令(或使用快捷键Ctrl + N),弹出新建对话框,选择工程标签,然后在列表中选择MFC AppWizardexe选项。在“工程”文本框中输入工程名王星星(10
17、07020101)。在“C位置:”文本框中指定应用程序创建的位置。单击确定按钮,如图。图97、弹出MFC AppWizard - Step 1对话框,选择“S单个文档”单选按钮。单击“N下一个”按钮,弹出MFC AppWizard - Step 2 of 6对话框,选择数据源支持,选择“D查看数据库不使用文件支持”单选按钮(此时工具栏会生成游标按钮,可以对记录进行移动)。单击Data Source按钮,弹出Database Options对话框,在ODBC下拉列表框中选择Students数据源后,单击OK按钮,弹出Select Database Tables对话框,如图。选择后,单击“OK”按
18、钮回到主对话框。如图。图10图118、单击“N下一个”按钮,弹出MFC AppWizard - Step 3 of 6对话框,根据需要选择文档所支持的功能。再次选择“O不”单选按钮,单击“N下一个”按钮,弹出MFC AppWizard - Step 4 of 6对话框,根据需要选择文档形式。在此保留默认设置。单击单击“N下一个”按钮,弹出MFC AppWizard - Step 5 of 6对话框,根据需要选择工程形式。在此保留默认设置。单击单击“N下一个”按钮,弹出MFC AppWizard - Step 6 of 6对话框,在对话框中列出向导所生成的类,同时程序员可以改变类的基类,以实现新
19、的功能。在此不改变基类。单击“完成”按钮,弹出“新建工程信息”对话框,该对话框中列出了新建立的应用程序中项目的详细信息,包括项目的类型、向导创建的类、文档的样式特征,以及工程的目录等。单击“确定”按钮,此时应用程序向导已经为用户生成了一个可执行的应用程序框架。9、选择Build(F7)图标。选择Build Execute(Ctrl+F5)图标,弹出无标题 王星星(1007020101)文档,如图。图1210、在项目工作区中,单击Resource View面板,然后单击Menu前面的加号图标,显示,双击此图标,在工作区弹出新建的菜单资源,右击菜单资源右边的空白项,在弹出的快捷菜单中选择“属性”命
20、令,弹出Menu Item Properties对话框,如图,在该对话框中可以对菜单资源的样式进行设计。在“信息管理(M)”下设计其它菜单,如图。图1311、右击“信息输入”菜单,选择“建立类向导”命令,弹出MFC ClassWizard对话框。选择Message Maps标签,在Objects IDs列表框中选择ID_Input,即“信息输入”菜单的ID。双击Message列表框的COMMAND选项,弹出Add Member Funtion对话框,单击OK即可,这样就添加了COMMAND的消息映射,其他菜单选项依此设计,如图。图14图1512、在工程工作区选择“Resource View”标
21、签,显示应用程序的资源,单击文件夹中的“王星星1007020101resources”选项,将资源树展开。打开Dialog资源文件夹。双击ID为IDD_MY1007020101_FORM的对话框,在资源编辑器中打开此对话框,然后添加相应的Group Box(标题为学生信息)和11个静态文本(标题分别为学院、专业、学号、姓名、性别、年龄、学科、学籍成绩、家庭住址、宿舍区号、联系方式)和11个编辑框,设置属性,建立类向导,添加变量,m_pSet-m_column1、m_pSet-m_column2、m_pSet-m_column3,m_pSet-m_column11,这就建立了数据源和各控件之间数
22、据流的连接,为了对数据进行修改和删除,在主对话框上添加三个按钮控件,分别是“修改”、“按姓名查询”、“按学号查询”,设置属性并利用类向导添加单击按钮的消息映射,如图。图16 添加修改按钮的消息映射void CMy1007020101View:OnCorrect() / TODO: Add your control notification handler code hereUpdateData(TRUE); /刷新控件的值到对应的变量(外部输入值交给内部变量)CInput correct;correct.m_College=m_pSet-m_column1;correct.m_Major=m_
23、pSet-m_column2;correct.m_Number=m_pSet-m_column3;correct.m_Name=m_pSet-m_column4;correct.m_Sex=m_pSet-m_column5;correct.m_Age=m_pSet-m_column6;correct.m_Subject=m_pSet-m_column7;correct.m_Score=m_pSet-m_column8;correct.m_Address=m_pSet-m_column9;correct.m_DormitoryNumber=m_pSet-m_column10;correct.m_
24、Contaction=m_pSet-m_column11;CString str1=correct.m_College;CString str2=correct.m_Major;CString str3=correct.m_Number;CString str4=correct.m_Name;CString str5=correct.m_Sex;CString str6=correct.m_Age;CString str7=correct.m_Subject;CString str8=correct.m_Score;CString str9=correct.m_Address;CString
25、str10=correct.m_DormitoryNumber;CString str11=correct.m_Contaction;if(correct.DoModal()=IDOK)m_pSet-Edit(); /准备实现当前记录的更改 m_pSet-m_column1=correct.m_College; m_pSet-m_column2=correct.m_Major; m_pSet-m_column3=correct.m_Number; m_pSet-m_column4=correct.m_Name; m_pSet-m_column5=correct.m_Sex; m_pSet-m_
26、column6=correct.m_Age; m_pSet-m_column7=correct.m_Subject; m_pSet-m_column8=correct.m_Score; m_pSet-m_column9=correct.m_Address; m_pSet-m_column10=correct.m_DormitoryNumber; m_pSet-m_column11=correct.m_Contaction;m_pSet-Update();UpdateData(FALSE); /拷贝变量值到控件显示(变量的最终运算结果值交给外部输出显示)注释:本段代码首先将当前数据库中的信息显示
27、在信息输入对话框上,然后通过交换变量的方式来实现对数据库中信息的修改 添加按姓名查询按钮的消息映射void CMy1007020101View:OnNameCheck() / TODO: Add your control notification handler code hereUpdateData(TRUE); /更新数据CString name=姓名;m_pSet-Close();m_pSet-m_strFilter=name+=+m_NameCheck+; /按字段进行查询m_pSet-Open();UpdateData(FALSE); /更新数据,显示结果注释:本段代码通过用户输入的
28、姓名和数据库中的“姓名”进行比较,然后查询出结果,更新数据并显示结果。 添加按学号查询按钮的消息映射void CMy1007020101View:OnNumberCheck() / TODO: Add your control notification handler code hereUpdateData(TRUE); /更新数据CString name=学号;m_pSet-Close();m_pSet-m_strFilter=name+=+m_NumberCheck+; /按字段进行查询m_pSet-Open();UpdateData(FALSE); /更新数据,显示结果注释:本段代码通过
29、用户输入的学号和数据库中的“学号”进行比较,然后查询出结果,更新数据并显示结果。13、新建一个对话框,对其进行设计,并建立类向导,如图图1714、单击项目工作区的“Class View”面板,展开面板里面的内容。单击CMainFrame前面的加号图标,显示,双击此图标,在其中添加代码如下:CMainFrame:CMainFrame()/ TODO: add member initialization code hereCWelcome welcome; CString m_username=王星星,m_password=2000wxx; int count=0;while(countReque
30、ry();m_pdatabase.Close();if(!m_pSet-IsBOF() /判断记录集是否应定位在第一条记录之前m_pSet-MoveNext(); /下一条记录catch(CDBException* e) /捕捉异常e-ReportError();return;str.Format(添加记录%s成功,input.m_Name);MessageBox(str,NULL,MB_OK|MB_ICONINFORMATION); /弹出消息框elseMessageBox(对不起,系统信息输入中断,信息没有存储,NULL,MB_OK|MB_ICONASTERISK);/上面的代码就是利用C
31、My1007020101Set的成员函数添加新的纪录,同时利用CDBException类控制一些异常,此时选择菜单“信息输入”后会弹出刚才所建的对话框,加入信息以后,单击确定按钮,会在数据库中增加这一新的纪录注释:在本段代码所在文件头部添加#include Input.h17、在CMY1007020101VIEW.cpp文件中添加信息排序的代码,如下:(1)按学号排序void CMy1007020101View:OnNumberSort() / TODO: Add your command handler code herem_pSet-Close();m_pSet-m_strSort=学号;
32、 /学号是表的字段的名字m_pSet-Open();UpdateData(FALSE);(2)按姓名的首字母排序void CMy1007020101View:OnNameSort() / TODO: Add your command handler code herem_pSet-Close();m_pSet-m_strSort=姓名; /姓名是表的字段的名字m_pSet-Open();UpdateData(FALSE);(3)按成绩由高到低排序void CMy1007020101View:OnScoreSort() / TODO: Add your command handler code
33、herem_pSet-Close();m_pSet-m_strSort=学籍成绩; /学籍成绩是表的字段的名字m_pSet-Open();UpdateData(FALSE);/CRecordset类的公共数据成员m_strSort封装了排序功能,用来设置对记录的排序18、在CMY1007020101VIEW.cpp文件中添加信息删除的代码,如下:void CMy1007020101View:OnDelete() / TODO: Add your command handler code heretryCString str;CMy1007020101Set m_pdatabase; /CRec
34、ordset中的数据成员m_pdatabase实现了在应用程序向导的过程中,表和程序的联系if(m_pdatabase.IsOpen()m_pdatabase.Close();str.Format(%s,m_pSet-m_column4);m_pdatabase.m_strFilter.Format(姓名=%s,str);m_pdatabase.Open(CMy1007020101Set:snapshot,NULL,CMy1007020101Set:none);m_pdatabase.Delete(); /删除记录if(!m_pdatabase.IsEOF()/判断记录集是否应定位在第一条记录之后m_pdatabase.MoveLast(); /定位在最后一条记录elsem_pdatabase.SetFieldNull(NULL);UpdateData(FALSE);if(m_pdatabase.IsOpen()m_pdatabase.Close();m_pSet-Requery(); /刷新来自数据源的CRecordset对象的全部内容str.Format(删除记录+m_pdatabase.m_column4+成功!);Mes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村医疗健康活动设计合同
- 铁路旅客运输服务授课张芬香课件
- 双语客运值班员旅客乘车的条件课件
- 体能训练立定跳远课件
- 铁道概论桥隧之最94课件
- 中国主题课件
- 机场跑道施工合同
- 企业专职安全生产员合同范本
- 平顶山学院《中国审美文化解读与欣赏》2023-2024学年第一学期期末试卷
- 长春早期教育职业学院《时间序列分析及应用》2023-2024学年第一学期期末试卷
- 涂料色浆MSDS-涂料色浆化学品安全技术说明书范本
- 三角形的内角和-课件
- CO变换工艺发展过程及趋势
- 北师大版数学六年级下册-总复习课件(精编版)
- 经济效益证明(模板)
- 汽车总装车辆返工返修作业标准管理办法
- D建筑消防设施故障维修记录表
- DB43∕T 497-2009 博落回果-行业标准
- 黑龙江省哈尔滨市恒泰石材有限公司(扩大区)建筑用凝灰岩
- 创意综艺风脱口秀活动策划PPT模板
- 枣树桃小食心虫
评论
0/150
提交评论