最新VFP课程设计-学生信息管理系统资料_第1页
最新VFP课程设计-学生信息管理系统资料_第2页
最新VFP课程设计-学生信息管理系统资料_第3页
最新VFP课程设计-学生信息管理系统资料_第4页
最新VFP课程设计-学生信息管理系统资料_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、精品文档广西大学数学与信息科学学院数据库开发与应用课程设计报告题目:学生信息管理系统班 级: 信息与计算科学121学号:1211100238姓名:李华日 期:二一四年六月精品文档、八 、,前言随着学校的规模不断扩大,学生数量急剧增加,有关学生信息量也成倍增长。面对庞 大的信息量需要有学生成绩管理系统来提高学生管理工作的效率。通过这样的系统可以做 到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工 作量。目前社会上信息管理系统发展飞快 , 各个企业事业单位都引入了信息管理软件来管 理自己日益增长的各种信息 , 学生信息管理系统也是有了很大的发展 , 商业化的学生信息

2、管理软件也不少。但本系统完全独立开发 , 力求使系统功能简洁明了 , 但功能齐全且易于操 作,其主要实现了对高校从学生学籍信息录入、学生选课、学生信息管理、课程信息、任 课教师查询、到学生成绩管理。整个系统分为学生信息管理、课程信息查询、任课教师查 询、成绩管理、系统管理四大模块。其中,学生信息管理模块包括学生信息录入、学生 信息修改。学生课程信息管理模块包括学生选课、学生课程查询。学生成绩管理模块包括 学生成绩录入、学生成绩查询。系统管理模块包括用户权限、密码修改、退出系统。整个 系统从操作简便、灵活、实用的目的要求出发完成学生信息管理系统全过程。用户需求具 体有学籍管理系统提供保存、更新、

3、查询、维护,这就需求数据库结构能充分满足各种信 息的输入与输出, 实现有组织地、动态地存储大量关联数据, 方便用户访问系统中的数据, 它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。1、系统分析1.1 系统介绍本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流 程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化, 提高工作效率和工作质量,减少很多不必要的资源,不用像以前那样用冗余的纸张式的管 理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率, 并且还提高了学籍信息管理的精确度。现提出如下的系

4、统开发目标:1. 系统应具有实用性、可靠性和适用性,同时注意到先进性。2. 对各个数据库进行动态管理,防止混乱。3. 能够按照用户选择的不同的条件进行简单查询和复合查询。4. 能够对查询结果进行分类汇总,实现报表打印。5. 注意数据的安全性,具有数据备份和恢复的功能。6. 方便用户的操作,尽量减少用户的操作。本课程设计主要解决与学生成绩信息管理相关的问题,设计一个功能齐全的学生管理 信息系统。同时实现学生相关信息的添加、删除、修改和查询;学生选课的管理,添加、 修改、删除;学生成绩的录入和对学生成绩的分析等主要功能。1.2 需求分析21 世纪以来,人类经济高速发展,人们发生了日新月异的变化,特

5、别是计算机的应用 及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发 展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社 会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。 (一)教育系统学生管理现状分析学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本 数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学 年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新 生入学后由教务人员在学籍系统中完成新学生信息的维护。这就需要一个功能强大的学生

6、管理系统来做学院工作者的左右手。(二)学校具体需求分析学生:对各科成绩的查询任课老师:输入并维护所教科目的学生成绩教务处: 学校全体成员的信息管理,并对任课老师,班主任等输入的信息进行存库,对 学生的信息进行必要的维护。通过研究调查,本系统需以下功能:综合学生信息、 学生成绩以及信息查询等信息; 方便用户了解和管理学生的全面动态信息; 良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。1.2 可行性分析可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。首先,从经济上来看,用 VFP开发的学生信息管理系统经济成本低,功能足够满足日常需要。由于学校等中小型管理系统并不

7、复杂,且 Visual FoxPro 本身要求的运行环境不高,所以一般 Windows 2000以上的系统环境都可以使用。其次,从实用性来看,本学生 信息管理系统管理系统无太多复杂的操作要求,也没有过分花哨的装饰品,人性化的设计 界面可以使操作者轻易运用自如,足够满足学生相关信息的添加、删除、修改和查询、学 生选课的管理、添加、修改、删除、学生成绩的录入、课程信息的查询和对学生成绩的分 析等主要功能。2、系统设计学生信息管理系统对于学生信息管理有非常大的作用,这些管理包括增、删、改,以 及查询等功能,同时还应实现对数据信息访问权限控制。下面从软件的整体结构设计角度 来进行设计。2.1系统流程图

8、按课程名查询按课程号查询密码重置密码修改学生信息修改学生信息查询学生成绩录入学生成绩查询2.2数据库需求分析2.3数据库逻辑结构设计2.3.1用户密码表:字段名数据类型可否为空说明账户Char(5)NOT NULL主索引密码Char(6)NOT NULLQx(权限)Num(1)2.3.2学生信息表:字段名数据类型可否为空说明学号Char(5)NOT NULL主索引姓名Char(8)NOT NULL性别Char(2)NOT NULL学院Char(8)NOT NULL出生日期Char(8)NOT NULL精品文档233课程信息表:字段名数据类型可否为空说明课程代码Char(2)NOT NULL主索

9、引课程名Char(10)NOT NULL课时数Char(2)NOT NULL学分Char(1)NOT NULL课程类别Char(4)NOT NULL课程教师Char(6)NOT NULL教师工号Char(5)NOT NULL234学生成绩表:字段名数据类型可否为空说明学号Char(5)NOT NULL主索引姓名Char(6)NOT NULL课程名Char(10)NOT NULL课程类别Char(4)NOT NULL成绩Char(2)NOT NULL学分Char(1)NOT NULL课程代码Char(2)NOT NULL2.4界面设计界面设计设计应遵循简洁美观、方便实用的基本原则。具体设计如下:

10、2.4.1主窗体设计主窗体包括登陆界面和主界面精品文档精品文档242学生信息管理界面设计精品文档243课程信息查询界面设计谙输入课裡代码:课程信息查询课程代码课程名学分课时数课程类别r1任课穀师教师工号湾空请输入课程名=精品文档244任课教师查询界面设计精品文档245成绩查询与成绩管理界面设计精品文档246密码修改与退出界面设计用户密码修改阳户容11原密码r新密码11F陽认修改|車新输入|2.5代码编写2.5.1登录表单程序:“登录” click事件:if (N2)=messagebox(登录信息三次输入错误,不能使用本系统,16,信息提示)thisform.releasereturn&退出,

11、不执行下面语句en difset order to tag 账户seek thisform.text1.value&定位数据表中的用户名if (thisform.text2.value=账户密码.密码);and (ThisForm.Optiongroup1.value=账户密码.qx) &检查密码和权限是否正确 thisform.releasedo form主界面 with账户密码.qx&打开主界面,并传达权限值else=messagebox(输入错误,请重新输入!,48,信息提示)&将光标移到用户名框&错误次数N+1thisform.text1.setfocusN=N+1en difquit

12、“取消” click事件:表单init事件:public NN=1精品文档2.5.2 学生信息管理表单程序:(Click事件)“查询” :if.not.empty(alltrim(bo2.value)select学生信息locate for 姓名=alltrim(bo2.value)if.no t.fo un d()messagebox(学生不存在,48,提示)bo2.value=elsebo2.value=姓名thisform.text2.value=学号thisform.text3.value=姓名thisform.text4.value=性另 Uthisform.text5.value=

13、学院thisform.text6.value=出生日期en difen difselect学生信息locate for alltr(姓名)=alltr(bo2.value)sele all姓名,学号性别,学院,出生日期from学生信息;where alltr(姓名)=alltr(bo2.value) into cursor temp with thisform.grd 学生信息.recordsourcetype=1.recordsource=temp.colu mncoun t=6.column 1.header1.caption=姓名.column2.header1.caption=学号.c

14、olumn3.header1.caption=性别.column4.header1.caption=学院.column5.header1.caption=出生日期en dwiththisform.refreshthisform.grd 学生信息.setfocus“清空” :bo2.setfocusbo2.value=bo2.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=thisform.text5.value=thisform.text6.value=精品文档“修改” :z=thisform.text2

15、.valuea=thisform.text3.valueb=thisform.text4.valuec=thisform.text5.valued=thisform.text6.value messagebox(信息更新成功,48,提示”)update学生信息set 姓名=a where 学号 =zupdate学生信息set 性另 U =b where 学号=zupdate学生信息set 学院=c where 学号 =zupdate学生信息set出生日期 =d where 学号=z“注销” :select学生信息locate for 学号=alltrim(thisform.text2.valu

16、e) if.no t.fo un d()messagebox(学生不存在,48,提示)elsea=thisform.text2.valuedelete from学生信息 where学号=a messagebox(该生已成功注销,48,提示) en dif“添加”:iflen (thisform.text2.value)=0or len( thisform.text3.value)=0 orlen(thisform.text4.value)=0 or len(thisform.text5.value)=0 or len(thisform.text6.value)=0 messagebox(输入信

17、息不完整,请重新输入,48,提示)elseselect学生信息locate for 学号=alltrim(thisform.text2.value)if foun d()messagebox(学号已存在,48,提示)thisform.text2.value=thisform.text2.setfocuselseinsertinto 学生信息(姓名,学号,性别,学院,出生日期)values(thisform.text2.value,thisform.text3.value,thisform.text4.value,thisform.text5.value,this form.text6.valu

18、e)messagebox(添加成功!,48,提示)en difen dif精品文档精品文档2.5.3 课程信息查询表单程序:(Click事件)课程查询“确定”1: if.not.empty(alltrim(bo1.value)select课程信息locate for 课程代码 =val(alltrim(bo1.value) if.no t.fo un d() messagebox(课程不存在,48,提示) bo1.value= elsebo2.value=课程名 thisform.text2.value=课程代码 thisform.text3.value=课程名 thisform.text4.

19、value=课时数 thisform.text5.value=学分 thisform.text6.value=课程类别 thisform.text7.value=课程教师 thisform.text8.value=教师工号 en dif en dif“确定” 2: if.not.empty(alltrim(bo2.value) select课程信息locate for 课程名=alltrim(bo2.value)if.no t.fo un d() messagebox(课程不存在,48,提示) thisform.text1.value= elsebo1.value=课程代码 thisform.

20、text2.value=课程代码 thisform.text3.value=课程名 thisform.text4.value=课时数 thisform.text5.value=学分 thisform.text6.value=课程类别 thisform.text7.value=课程教师 thisform.text8.value=教师工号 en dif en dif精品文档精品文档2.5.4 教师任课查询表单程序:(Click事件)select课程信息locate for alltr(课程教师)=alltr(bo1.value)if foun d()sele all课程代码,课程名,课时数,学分,

21、课程类别,课程教师,教师工号from课程信 息;where alltr(课程教师)=alltr(bo1.value) into cursor tempwith thisform.grid1.recordsourcetype=1.recordsource=temp.colu mncoun t=10.column 1.header1.caption=课程代码.column2.header1.caption=课程名.column3.header1.caption=课时数.column4.header1.caption=学分.column5.header1.caption=课程类别.column6.h

22、eader1.caption=任课教师.column7.header1.caption=教师工号en dwiththisform.refreshthisform.grid1.setfocusen dif“清空”:bo1.value=bo1.setfocus精品文档2.5.6成绩查询表单程序:(Click事件)“查询” :if.not.empty(alltrim(bo1.value)select学生信息locate for 姓名=(alltrim(bo1.value)if.no t.fo un d()messagebox(学生姓名不能为空,48,提示)bo1.value=elsebo1.valu

23、e=姓名thisform.text1.value=学号thisform.text2.value =性别thisform.text3.value=学院select学生成绩locate for 姓名=(alltrim(bo1.value)thisform.text4.value=高等数学thisform.text5.value=大学英语thisform.text6.value=大学物理thisform.text7.value=大学写作thisform.text8.value=计算机技术en difen difselect学生成绩locate for alltr(姓名)=alltr(bo1.valu

24、e)sele all姓名,高等数学,大学英语,大学物理,大学写作,计算机技术from学生成绩;where alltr(姓名)=alltr(bo1.value) into cursor tempwith thisform.grid2.recordsourcetype=1.recordsource=temp.colu mncoun t=6.column 1.header1.caption=姓名.column2.header1.caption=高等数学.column3.header1.caption=大学英语”.column4.header1.caption=大学物理.column5.header1

25、.caption=大学写作.column6.header1.caption=计算机技术en dwiththisform.refreshthisform.grid2.setfocus“清空”:bo1.value=bo1.setfocus2.5.7学生成绩管理表单程序:(Click事件)“查询” :if.not.empty(alltrim(bo1.value)select学生成绩locate for 姓名=(alltrim(bo1.value)if.no t.fo un d()messagebox(学生姓名不能为空”,48,”提示)bo1.value=elsebo1.value=姓名thisfor

26、m.text3.value=姓名thisform.text4.value=高等数学thisform.text5.value=大学英语thisform.text6.value=大学物理thisform.text7.value=大学写作 thisform.text8.value=计算机技术 en dif en dif select学生成绩locate for alltr(姓名)=alltr(bo1.value)sele all姓名,高等数学,大学英语,大学物理,大学写作,计算机技术from学生成绩;where alltr(姓名)=alltr(bo1.value) into cursor tempw

27、ith thisform.grid2.recordsourcetype=1.recordsource=temp.colu mncoun t=6.columnl.headerl.caption=” 姓名.column2.header1.caption=” 高等数学.column3.header1.caption=大学英语.column4.header1.caption=大学物理.column5.header1.caption=大学写作.column6.header1.caption=计算机技术en dwiththisform.refreshthisform.grid2.setfocus“添加”

28、:if len(thisform.text3.value)=0 or len(thisform.text4.value)=0 or len(thisform.text5.value)=0 or len(thisform.text6.value)=0 or len(thisform.text7.value)=0 or len(thisform.text8.value)=0 messagebox(输入信息不完整,请重新输入,48,提示)elseselect学生成绩locate for 姓名=alltrim(thisform.text3.value)if foun d()messagebox(成绩已

29、存在,48,提示)elsein sert into学生成绩(姓名,高等数学,大学英语,大学物理,大学写作,计算机技术)values(thisform.text3.value,thisform.text4.value,thisform.text5.value,thisform.text6.value,thisform.text7.value,thisform.text8.value)messagebox(录入成功!,48,提示)en difen dif“修改” :z=thisform.text3.valuea=thisform.text4.valueb=thisform.text5.valuec

30、=thisform.text6.valued=thisform.text7.valuee=thisform.text8.valueupdate学生成绩 update学生成绩 update学生成绩 update学生成绩set高等数学 =a set大学英语=b set大学物理=c set大学写作=dwhere 姓名=z where 姓名=z where 姓名=z where 姓名=zupdate学生成绩set计算机技术=e where姓名=zmessagebox(信息更新成功,48,提示) “注销” :select学生成绩locate for 姓名=alltrim(thisform.text3.v

31、alue)if.no t.fo und() messagebox(学生不存在,48,提示)else a=thisform.text3.valuedelete from 学生成绩 where 姓名=a packmessagebox(该生已成功注销,48,提示) en dif“清空” :bo1.value=thisform.text3.value=thisform.text4.value=thisform.text5.value=thisform.text6.value=thisform.text7.value=thisform.text8.value=bo1.setfocus2.5.8学生信息表

32、单程序:(Click事件)查询与清空的代码同2.5.22.5.9密码修改表单程序:(Click事件)“确认修改” :set exact onif empty(alltrim(thisform.text3.value).a nd.empty(alltrim(thisform.text4.value) messagebox(新密码不能为空,48,提示)thisform.text3.setfocusreturnen difif alltrim(thisform.text3.value)alltrim(thisform.text4.value)messagebox(新密码与确认密码不一致,48,提示)

33、thisform.text3.setfocusreturnen difselect账户密码密 码 )=locate for alltrim( 账 户)=alltrim(thisform.text1.value).a nd.alltrim(alltrim(thisform.text2.value)if.no t.fo un d()messagebox(原密码错误,请重新输入,48,提示)thisform.text2.setfocusreturnen difa=thisform.text1.valueb=thisform.text3.valueupdate账户密码 set密码=b where账户=

34、a messagebox(密码修改成功,64,密码修改系统) set exact offen difa=thisform.text1.valueb=thisform.text3.valueupdate账户密码 set密码=b where账户=amessagebox(密码修改成功,64,密码修改系统)set exact off“重新输入” :thisform.text1.value=thisform.text2.value=thisform.text3.value=thisform.text4.value=thisform.text1.setfocus3、系统评价3.1 程序调试情况(1) .在

35、表结构创建的过程中有个注意点一一NULL值,NULL无明确的值,它不等于零 或空格,一个NULL值不能认为比某个值(包括另一个 NULL值)大或小,相等或不同。(2) . 常量和内存变量能够使用的数据类型只有 6 种,分别是 :字符型、数值型、货币 型、日期型、日期时间型以及逻辑型。(3) . 在用双引号或单引号等定界符标识字符串时,不能使用汉字全角状态下的引号,因为VFP命令不能识别全角汉字下的符号。(4) . 函数是用来实现某指定运算或操作的一种特殊程序,应熟练掌握几种常用的系统 函数。例如:数值型函数、字符处理函数、日期和时间函数、表与记录函数、类型转换函数、系统测试函数。要注意的是字符型与日期型相互转换函数是CTODf DTOC字符型与日期时间型转换函数为CTOT与 TTOC(5) . 菜单中的命令执行某表单是,要注意表单名称要完整,不能出现错别字,否则会 出现“无法定义 * 表单”的情况。(6) . 数据库的表设计器是创建新表、修改表和定义索引的重要工具,应学会熟练的使 用数据库设计器,对字段选项卡、表选项卡和索引选项卡进行管理操作。(7) .掌握VFP多种运算符,明确各种运算符的运算优先级:数值运算符高于关系运 算符,关系运算符高于逻辑运算符。 同一等级命令从左到右进行, 括号内的运算优先执行, 嵌在最内层括号的运算首先进行,然后依次

温馨提示

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

评论

0/150

提交评论