《最新vfp学生信息管理系统大作业设计报告.doc》由会员分享,可在线阅读,更多相关《最新vfp学生信息管理系统大作业设计报告.doc(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datevfp学生信息管理系统大作业设计报告学生信息管理系统设计报告的主要内容学生信息管理系统大作业设计报告课程名称:Visual FoxPro 程序设计教程实验题目:学生信息管理系统设计报告班级:_姓名:_学号:_学生成绩管理系统设计报告的主要内容学生成绩管理系统的设计一、系统设计 1、系统功能模块分析学生成绩管理系统通常包括学生基本信息管理、学校所开设课程情况和成绩的管理
2、。设计学生管理系统的目的就是利用计算机的快速浏览、维护、查询、统计功能,替代管理人员对数据的手工处理。用计算机对学生的各种信息进行日常管理时,经常要进行数据的:浏览、查询、修改、添加、删除、统计、和打印等操作。针对上述要求,设计的成绩管理系统应包括实现这些功能的模块2、系统功能模块设计在系统分析的基础上,结合操作上的方便性,学生信息管理应用程序包括系统主界面和查询、维护、统计和打印等几大功能模块,每个功能模块的子模块如图所示:画出系统功能结构图登录界面系统主菜单 退出作业查询统计维护浏览(显示)计算、查询等等按统计人数平均成绩等按查询信息成绩等学生课程维护学生成绩维护学生基本信息维护学生课程显
3、示学生成绩显示学生基本信息显示退出返回简单叙述各功能模块的功能:(1)系统主模块 提供了学生信息管理的主界面,作为进入系统的唯一入口。在系统主界面中,不仅提供了用于调用系统各功能模块的操作方法,而且还需要对使用系统的用户进行合法性检验等相应操作。(2)维护模块、浏览模块 学生基本信息维护 成绩维护 课程维护 学生基本信息浏览 成绩浏览 课程浏览(3)查询模块:提供了用于对数据进行查询操作的操作界面,用户可以按学号或姓名或班级编号查找某人信息、某学生所选课的情况;也可以按课程编号进行查询;也可以按课程名称查找成绩及课程情况等(4)统计模块: 按学号统计平均成绩,按课程编号统计平均成绩等 按性别统
4、计人数,按班级统计人数等 (5) 平时作业: 计算分段函数、计算n!、计算y值、成绩等级、奖学金发放等(6)退出模块: “返回”中命令为:set sysmenu to default “退出”中命令为:quit二、数据库设计与实现1、数据库的设计涉及到一个数据库Xsgl.dbc 和四个数据表:Xsjbxx.dbf、cj.dbf 、Kc.dbf 、Password.dbf数据表结构:(抓图)Xsjbxx.dbf 的数据表结构如下图:按学号字段建立主索引Cj.dbf 的数据表结构如下图:按学号和课程编号字段建立普通索引Kc.dbf 的数据表结构如下图:按课程编号字段建立主索引Password.DB
5、F的数据表结构如下图:按用户名字段建立主索引 2、数据库的实现:(1)创建项目管理(2)创建数据库及四个数据表的结构、建立相关的索引、表间的关联等 表与表之间的关联三、系统功能模块的详细设计采用模块化程序设计方法,可以将一个复杂系统的设计转化为多个简单系统设计,便于修改和维护,也便于多人同时开发系统。1、设计系统登录界面(主界面.SCX)设计系统登录界面 (主界面.Scx)设计步骤:打开表单设计器,建立一个新的表单,添加相应的控件、设置其属性、及相关代码表单对象的属性设置: 在数据环境中增加Password.dbfForm1: caption (登录系统) , MaxButtom(.f.),M
6、inbutton(.f.) &最大化、最小化按钮Label1: Caption(学生信息管理统),Fontsize=22,Alignment=2-中央Label2: Caption(用户名), Fontsize=20Label3: Caption(密码), Fontsize=20Label4:Caption(欢迎使用学生信息管理系统) ,Fontsize=11Command1:Caption(确认)Command2:Caption(退出)Text1: PasswordChar (*) 指定占位字符Combo1: ReadOnly (.F.) RowSource (Password.用户名) R
7、owSourceType (6-字段) 系统登录界面对象的事件过程代码如下:Load 中是thisform.caption=”登录” ,init 中是thisform.text1.value=”按钮对象Command1(登陆)的Click事件过程代码如下:Uname= Alltrim(Thisform.Combo1.value)Ps=Alltrim(thisform.text1.value)Locate for 用户名=UnameIf found() and 密码=Ps Do menu.mpr Thisform.visible=.f.else Messagebox(用户名或密码错误,请重新输入
8、!)Endif按钮对象Command2(退出)的Click事件过程代码:thisform.release运行主界面.SCX 用户名:user01 &(在组合列表中选择)密码:user01 &输入密码即可浏览学生信息管理菜单窗,通过菜单可以选择你所需要的功能,完成用计算机管理学生信息2、浏览(显示)功能模块的设计(只介绍学生基本信息浏览.SCX的设计过程,即设计步骤) 学生基本信息浏览界面如下: 描述设计步骤: 设计步骤:打开表单设计器,建立一个新的表单,添加相应的控件、设置其属性、及相关代码在数据环境中添加Xsjbxx.dbf Label1 caption(学生基本信息显示),将所有字段从数据
9、表中拖出生成控件Command1 caption(第一个) 代码为:Tmand2.enabled=.f.Tmand3.enabled=.t.Go topThisform.refresh Command2 caption(上一个) 代码为:Tmand3,enabled=.t.If Not BOF() Skip -1Endif Thisform.refresh Command3 caption(下一个) 代码为:mand2.enabled=.t.If Not EOF() Skip Endif Thisform.refresh 运行表单即可查看学生基本信息3、维护功能模块的设计(只介绍维护学生基本信
10、息维护.SCX的设计过程)抓图显示学生档案维护表单执行后的界面,界面如下: 描述设计步骤:设计步骤:打开表单设计器,建立一个新的表单,添加相应的控件、设置其属性、及相关代码在数据环境中添加Xsjbxx.dbf Label1 caption(学生基本信息维护),将所有字段从数据表中拖出生成控件Combo1 ReadOnly (.F.) RowSource (Xsjbxx.学号) RowSourceType (6-字段)Command1 caption(定位) 代码为:xh=alltrim(bo1.Value)Locate for 学号=xhIf Not Eof() Thisform.Refres
11、hElse Messagebox(没有找到!)endifCommand2 caption(增加) 代码为:append blankThisform.Refresh Command3 caption(删除) 代码为:yn=Messagebox(是否删除?,4+32)If yn=6 Delete If EOF() Go top Else Skip EndifThisform.refreshEndif Command4 caption(退出) 代码为:thisform.release4、查询功能模块的设计( 重点介绍两到三个查询表单的实现)查询功能的菜单界面如下:重点介绍两个模块的设计步骤 比如:
12、按课程编号查询成绩的设计步骤设计步骤:打开表单设计器,建立一个新的表单,添加相应的控件、设置其属性、及相关代码在数据环境中添加Xsjbxx.dbf,Cj.dbf,Kc.dbfLabel1 caption(按课程编号查询各科成绩) label2 caption(课程编号)Combo1 ReadOnly (.F.) RowSource (Kc.课程编号) RowSourceType (6-字段)Command1 caption(查询) 代码为:clearkcbh=alltrim(bo1.value)select kc.课程编号,xsjbxx.学号,姓名,课程名称,成绩;from xsjbxx,cj
13、,kc;where xsjbxx.学号=cj.学号 and kc.课程编号=cj.课程编号 and kc.课程编号=kcbhCommand2 caption(退出) 代码为:thisform.release保存运行按学号查询基本信息的设计步骤设计步骤:打开表单设计器,建立一个新的表单,添加相应的控件、设置其属性、及相关代码在数据环境中添加Xsjbxx.dbfLabel1 caption(按学号查询基本信息) label2 caption(学号)Combo1 ReadOnly (.F.) RowSource (Xsjbxx.学号) RowSourceType (6-字段)Command1 cap
14、tion(查询) 代码为: Clear Xh=alltrim(thisform .combo1.value) Select * from xsjbxx; Where 学号=xhCommand2 caption(退出) 代码为:thisform.release保存运行5、统计功能模块的设计 (重点介绍两到三个统计表单的实现),统计功能的菜单界面如下:重点介绍两个模块的设计步骤 比如: 按课程编号统计平均成绩的设计步骤 设计步骤:打开表单设计器,建立一个新的表单,添加相应的控件、设置其属性、及相关代码在数据环境中添加Cj.dbfLabel1 caption(按课程编号统计平均成绩)Command1
15、 caption(统计) 代码为:clearselect 课程编号,avg(成绩) as 平均成绩;from cj;group by 课程编号 Command2 caption(退出) 代码为:thisform.release保存运行按学号统计学分总和的设计步骤 设计步骤:打开表单设计器,建立一个新的表单,添加相应的控件、设置其属性、及相关代码在数据环境中添加Xsjbxx.dbf,Cj.dbf,Kc.dbfLabel1 caption(按学号统计学分总和)Command1 caption(统计) 代码为: clearselect xsjbxx.学号,sum(学分) as 学分总和;from x
16、sjbxx,cj,kc;where xsjbxx.学号=cj.学号 and kc.课程编号=cj.课程编号;group by xsjbxx.学号Command2 caption(退出) 代码为:thisform.release保存运行6、退出“返回”中命令为:set sysmenu to default“退出”中命令为:quit7、菜单的设计(主菜单文件名为: menu.mpr) 列出表格如下: 主菜单名称子菜单名称文件名显示学生基本信息显示学生基本信息显示.SCX学生成绩显示 学生成绩显示.SCX学生课程显示学生课程显示.SCX维护 学生基本信息维护 学生基本信息维护2.scx学生成绩维护
17、学生成绩维护2.scx学生课程维护 课程维护2.scx 查询 查询功能.SCX 统计 统计功能.SCX退出返回Set Sysmenu to default退出Quit注意:保存菜单文件名为: menu.mnx存盘后系统生成一个.mnx 的菜单文件(menu.mnx),它不是一个可执行程序,需要用它生成一个菜单源程序代码,才可以执行。 生成菜单程序在菜单设计器中选择“菜单”-“生成”menu.mpr抓图: 运行菜单后的Window窗口图Menu四、设计主程序及连编1、主程序的设计 (命令文件的文件名及文件中的相关代码)注意要设置成主程序1)应用系统的主程序开发数据库应用程序时,在完成了各个 功能
18、模块的设计之后,应为整个应用系 统设计一个启动程序文件(又称主程序)。 主程序文件通常可以是一个程序文件 (.PRG)、一个表单文件(.SCX)或者是一个 菜单程序文件,主程序文件在整个系统 中的作用: A 对系统进行初始化B 启动应用程序:如系统的主界面、密码设置 ( do form 主界面 .scx 或用do 命令启动一个菜单:do menu.mpr)C 控制事件的循环:在设置环境并启动应用程序之后,就需要建立事件循环,以等待用户操作进行响应。控制事件循环需要使用Read Events 命令。D 退出应用程序时,恢复系统的环境2)主程序的设计(main.prg)set talk offcl
19、ear allclose allset safety offset exclusive on & 以独享方式打开数据表、数据结构非只读 _screen.autocenter=.t. &居中_screen.windowstate=2 &窗口最大化 _screen系统变量do form 主界面.scx &执行系统登录界面read eventsset talk on 最后在代码选项卡中选择Main.prg文件,然后单击鼠标右键,设设置主文件命令,将其设置为主文件。如需要启动整个应用程序,选择Main.Prg 后单击运行按钮2、连编成应用程序系统在项目管理器中,单击“连编”,选定“重新编译全部文件”复选框,及“连编可执行文件”单选项,系统开始连编,生成一个扩展名为EXE的文件xsgl.exe 若询问是否移去某些文件,请按“Yes” 退出FVP环境,运行xsgl.exe 即可执行学生信息管理主程序。-