vfp学生信息管理系统(精选11篇)
学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。
运用学生成绩管理系统可以减轻学院教学人员的工作量,加快查询速度,加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。还有就是缩小开支,提高工作效率与准确率。可以使学生能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。并且学生成绩管理系统的应用也为今天的高校教育在未来市场的竞争力的提高达下坚实的基础。
如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。
本系统主要用于学校学生信息管理,特别是学生成绩的管理,采用面向对象的设计思想,以菜单和表单的形式进行各表单的调用,主要任务是计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外考虑到学生选课。针对这些要求,设计这些要求,设计了学生成绩管理系统。
因此,本系统应该主要完成和实现如下功能:
1.系统登陆功能。要求系统登陆时有密码管理功能,可分为管理人员登陆和普通用户登陆两种方式,只有身份和密码全正确才能成功登陆。
2.基本数据管理功能。此功能主要是用于对学生的基本情况的管理,如学生所在的系、班级、以及所学的专业、课程等内容。管理人员登陆后可对系统内的信息进行修改。
3.学生信息管理功能。此功能主要是用于对学生信息的录入和管理。包括信息添加,信息浏览等。
4.学生成绩管理功能。此功能主要是用于对学生成绩的录入和管理包括考试成绩添加,成绩浏览等。
5.学生查询功能。此功能主要用于对学生信息的查询和统计,并打印相关信息,包括学习成绩等。
二、基本要求
完成上述五项要求,设计好以下界面:1.登陆界面;2.课程管理界面;3.学生信息管理界面;4.学生成绩管理界面; 5.学生查询界面。
最终完成一个高校的学生成绩管理系统,并给出部分相应的编程。
三.参考资料
随着我国高等教育的发展,特别是高等学校扩招后,各院校学生人数一般都在万人以上,传统的利用人工管理学生文件档案,由于存在着诸多缺点, 如:效率低、保密性差, 时间一长, 将产生大量的垃圾文件和数据, 这对于查找、更新和维护都带来了不少的困难,已经无法适应现代高等教育的发展需要;利用计算机手段实现学生信息的管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好等优点,从而极大地提高学生管理的效率,为此,结合笔者工作实际,开发了基于VFP的学生信息管理系统。
1、VFP介绍
VFP,即Visual FoxPro。Visual FoxPro6.0是Microsoft公司推出的功能强大的关系型数据库管理系统。它是一个32位的数据库开发系统。同以前的数据库管理系统相比,它具有更快速、更有效、更灵活的突出特点;它支持可视化的编程和面向对象程序设计等第四代语言(4GL)独有的特性,使用户能够快速的建立和维护应用程序;它是一个先进的数据库管理系统,引入了大型数据库管理系统独有的"数据库"、"数据字典"、"存储过程"、"参照完整性"、"触发器"、"缓冲"等机制,使得数据库的使用与管理更加方便、有效,用户的程序设计工作更加简便;通过引入远程视图、SQL传递技术、升迁机制,它全面支持客户机/服务器结构;它具有与其它应用程序(如WORD、EXCEL)共享,交换数据及控制这些应用程序运行能力。
2、系统总体规划
可以把学生信息管理系统划分为系统维护、学籍管理、宿舍管理、党员管理、奖惩管理、等5个模块。如下图所示:
2.1 系统维护
主要实现系统用户的授权、数据的备份恢复、数据导入/导出、数据字典的修改。
2.2 学籍管理
该模块用于实现学生的学籍管理。记录学生的基本信息:学号、姓名、性别、出生年月日、民族、入学年限、院系、专业、班级。
(1)信息录入:新生入学后,由用户录入学生的基本信息,或者由招生信息导入。
(2)学籍异动:此功能用于学生调整专业、院系;学生降级;学生休学的管理。
(3)查询/打印:查询学生各种信息,提供多种打印格式的报表。
2.3 宿舍管理
学生的宿舍(寝室)管理工作一直是一个困扰宿舍工作人员的难题,此系统予以了解决。
(1)宿舍分配:新生入校后,在这里进入寝室的分配,细化到楼号--->寝室号--->床号。
(2)宿舍调整:可以进行学生宿舍的局部调整,也可以整幢宿舍统一调整。
(3)宿舍回收:毕业生离校或学生因其它原因离校,回收宿舍。
(4)宿舍查询:查询学生宿舍信息,提供多种打印格式的报表。
(5)公物管理:对学生损坏的寝室公物进行记录,记录赔偿情况,打印赔偿通知单。
该模块可以脱离学生信息管理系统,成为一个独立的系统,专供宿舍管理人员使用。
2.4 党员管理
对于学生党员的管理,大部分高校还处于纯手工管理的阶段,此系统将学生党员的若干信息都统一进行了管理。
(1)入党积极分子管理:积极分子递交入党申请书的时间、介绍人、纸质申请书的档案编号、党校入校时间、结业时间、是否结业。
(2)预备党员管理:预备党员的入党时间、预备期。可以将思想汇报、入党志愿书等相关材料以扫描件的形式进行存储。
(3)正式党员管理:管理正式党员的转正期、党龄、学费缴费情况等。
2.5 奖惩管理
对学生的获奖信息、违纪信息进行了统一的管理。
(1)三好/优干管理:评定三好学生、优秀学生干部;查询、打印相关信息。
(2)奖助金管理:评定奖学金、助学金;记录评定时间、金额、发放情况。
(3)违纪管理:处理学生的违纪情况;处分开始时间、结束时间,处分等级。
此功能可以与上两项联动。如学生有违纪情况,在评定三好/优干及奖助学金时会自动给出意见。
3、系统实现
该系统使用VFP来完成数据库建立、程序编码。
3.1 数据库设计
该系统的数据库中包括30张数据表,下面列出主要的数据表(如表1所示):
3.2 程序编码
(1)该系统的程序编码工作全部使用VFP来完成的。下面列出主控界面的部分代码:
(2)数据的查询修改。
高校的学生数据都非常多,为了提高数据的查询修改效率,没有使用VFP的传统语句,而使用了内嵌的SQL语句来完成。
4、结束语
利用该学生信息管理系统管理学生的相关信息,不但大大提高了查询效率、提高了信息的准确性、很好的节约了资源,同时还减轻了行政工作人员的负担。
摘要:随着高校招生规模的不断扩大, 人工管理学生信息的方法已经无法适应现代高等教育的发展, 利用计算机手段实现学生信息的查询与管理是高校学生管理方法发展的必然趋势;文章结合实际工作, 就如何实现这一系统进行论述。
关键词:VFP,学生信息管理系统
参考文献
[1]丁爱萍.Visual FoxPro 6.0程序设计教程[M].西安电子科技大学出版社.2002
关键词:Structured Query Language语言;Visual FoxPro;数据库;信息处理
0引言
结构化查询语言SQL是英文Structured Query Language的缩写。按照美国国家标准协会(ANSI)的规定,SQL被作为关系型数据库管理系统的标准语言,SQL语句可以用来执行各种操作。目前,绝大多数流行的关系数据管理系统(DBMS),例如Oracle,Sybase,SQL Server,Visual FoxPro等都采用了SQL标准语言。
如图1所示,数据库管理系统是一个存放信息的数据库及管理、控制数据库的软件系统,当用户需要检索数据库中的数据时,可以通过SQL语言发出请求,数据库管理系统对SQL请求进行处理,将按要求所检索到的数据返给用户。
尽管查询数据是SQL的最重要的功能之一,但它绝不仅仅是一个查询工具,它还为用户提供了用于控制数据库管理系统的所有功能,包括数据定义、数据操纵、数据控制等功能。笔者在多年的教学中深深体会到,在VFP中使用SQL语句来处理数据,不仅方便了编程,而且还可以大大提高数据处理的速度。
以下从打开数据表、表间的联接、数据查询等几方面叙述SQL在VFP中实现快速信息处理的具体应用。
1数据查询内容丰富、使用简单
SQL的核心是查询,其基本语句形式是:
SELECT * ROM…WHERE…
SQL数据查询有:“简单查询”、“多表联接查询”、“嵌套查询”、“特殊运算符查询”“通配符查询”、“排序查询”等多种形式,程序语句简单,使用起来方便快捷。
例如:在“成绩DBF”表中求出选修111101号课程学生中成绩比选修141203号课程的任何学生的成绩都要高的学生的学号和成绩。
语句形式为:
SELECT学号.成绩FROM成绩WHERE课程号=“111101”
and成绩>all;
(SELECT成绩FROM成绩WHERE课程号=“141203”)
2数据表的联接
在进行数据库结构设计时,为了消除冗余数据,会将数据分配在不同的表中存储,这样我们就不可避免地需要同时从不同的表中检索数据。要想使用一个查询从多个表中返回数据,就需要清楚这些表中的数据之间的关系,进而建立联接,只有这样才能保证从来源于多表的检索结果是正确的。
在Visual FoxPro中,数据表的联接是一种等值联接,即只有满足联接条件,相应的结果才会出现在结果表中,并且是采用了“视图”和“查询”的方法来解决,这两种方法也是只有视窗形式,而没有语句,更不能进行复杂联接。而SQL语句采用的是自然联接,大大提升了联接的功能。其联接的运算方法是:首先保证一个表中满足条件的记录都在结果中,然后将满足联接条件的记录与另一个表的记录进行联接,不满足联接条件的则应将来自另一个表的属性值置为空值。SQL语句有四种联接方式:内部联接(Inner Join)、左联接(Left join)、右联接(RightJoin)、完全联接(Full Join)。
例如:现有数据表A和数据表B,两表的结构和记录已知。请用SQL语句对它们进行四种联接。
内部联接(Inner Join):
Select A.Key,B.K from A Inner Join B On A.Key=B.key
左联接(Left Join):
Select A.Key,B.K from A Left Join B On A.Key=B.key
右联接(Right Join):
Select A.Key,B.K from A Ringht Join B On A.Key=B.key
完全联接(Full Join):
Select A.Key,B.K from A Full Join B On A.Key=B.key
3数据存储规范及数据更新方便简捷
在数据库编程中,常常需要将大量的数据存储。SQL语句有下列五种形式的数据存储语句:
INTO ARRAY;INTO CURSOR;INTO TABLEIDBF;TO FILE;
TO PRINTER
INTO ARRAY语句可以将一个查询结果存放到一个二维数组中;INTO CURSOR语句可以将一个查询结果存放到临时数据表文件中,可以像数据表一样浏览其中的记录。当关闭表时将自动删除;INTO TABLEIDBF将查询结果存放到永久表中;TO FILE将查询结果存放到文本文件中;TO PRINTER将查询结果直接输出到打印机。
在数据库操作中,数据记录的更新是常有的事。在VisualFoxPro中数据记录更新是通过自动替换(REPLACE)语句和表间记录更新(UPDATE)语句实现的。自动替换主要用于单表。其中表间记录更新的使用形式非常复杂,牵扯到多语句的相互制约,操作中思路很难理顿,必须要考虑到每个表的指针移动情况。SQL语句就省事多了,单表和多表可以一起考虑,其操作非常简捷。
例如:将“英语DBF”表中的“考分”字段的记录值加到“成绩.DBF”表中的“总分”字段记录中,同时将这两个表中涉及到的记录做标记,用于意外情况的处理(判断这两个表在操作中有可能被漏掉的记录)。SQL语句为:
UPDATE(SELECT成绩.学号,成绩.总分,英语.姓名,英语.考分,英语.标记From成绩Inner Join英语On成绩.学号=英语.学号)SET成绩.总分=成绩.总分+英语.考分,成绩。标记=1,英语.标记=1
4数据统计多功能融为一体
统计同样是数据库编程中常用的功能之一。在VisualFoxPro中对数据表的统计工作用到了三条语句(COUNT、SUM、AVERAGE)和两个函数MAX()、MIN(),功能分散。在SQL语句中不再将它们作为语句和函数分开,而是作为参数使用。这样一来就可以把数据统计放在一条语句中来完成,使数据统计工作实现了融合。
例如:求“英语DBF”表中全班人数、“考分”字段的总分、平均分、最高分、最低分。
SELECT COUNT(*),SUM(考分),AVG(考分),MAX(考分),MIN(考分)
FROM英语
如果要把求得的分值分别保存到变量A、B、C、D、E中的话,可以将上面的语句改写成:
SELECT COUNT(*)AS A,SUM(考分)AS B,AVG(考分)AS C,
MAX(考分)AS D,MIN(考分)AS E FROM英语5结束语
一、运行结果题
1、以下程序运行结果是
SET TALK OFF
CLEAR
A = 5
B = 12
C = 18 IF MAX(A , B)< C
? MAX(A, B)
ELSE IF MIN(A , B)< C
? C
ELSE
? MIN(A , B)
ENDIF
ENDIF SET TALK ON
RETURN
2、以下程序运行结果是
SET TALK OFF CLEAR USE STCJ
DO WHILE ,NOT, EOF()
REPLACE 总分 WITH 高数 + 计算机 + 英语 SKIP
ENDDO GO BOTTOM
? 学号,总分
USE
RETURN
3、以下程序运行结果是
SET TALK OFF
SET HEADINGS OFF SELECT 2 USE STCJ
INDEX ON 编号
TO GZ21
REPLACE ALL 总分
WITH 高数 + 计算机 + 英语 SELECT 1 USE STDA
SET RELATION TO 编号
INTO B DISPLAY FIELDS 姓名,B.总分
FOR 四级通过
OFF CLOSE ALL RETURN
4、以下程序运行结果是
SET TALK OFF SET SAFETY OFF USE STDA INDEX ON 民族
TO XBSY TOTAL ON 民族
TO GZHZ USE GZHZ COUNT TO N ? N
SET SAFETY ON SET
TALK
ON RETURN
5、以下程序运行结果是
SET TALK OFF SET DELETED ON USE STDA DELETE FOR 性别 = “ 男 ” COUNT TO A SET DELETED OFF COUNT TO B DELETE ALL PACK COUNT TO C ? A , B , C SET TALK ON RETURN
6、以下程序运行结果是
SET TALK OFF USE STDA
INDEX ON 奖学金
TO GZSY SKIP 2
? 姓名,奖学金 USE
SET TALK ON RETURN
7、以下程序运行结果是
SET TALK OFF
SET PROCEDURN TO SP S = 0
DO SP1 WITH 5 , S ? S
SET TPROCEDURE
TO RETURN * SP PRG PROCEDURE
PARAMETERS X , Y N = 1 Y = 1
DO WHILE N < X
Y = Y + N
N = N + 1
ENDDO
RETURN
8、以下程序运行结果是
SET TALK OFF DIMENSION X(2 ,2)X = 5 FOR I = 1 TO 2 FOR J = 1 TO 2 IF I = J
X(I , J)ENDIF ?? X(I , J)ENDFOR ENDFOR SET TALK ON RETURN
二、完善程序
1、下列程序计算机 S =1!+ 2!+3!+4!+5!中,填空完成程序。
S = 0 FOR N = 1
TO 5
FOR I = 1 TO N
P = P * I
ENDFOR
ENDFOR
? “SUN =” , S
2、用下列程序找出所有的水仙花数,所谓水仙花数,是指这样一
个三位数,其各位数字的立方和等于该数本身,如 153 = 1^3 +5^3 +3^3,对以下程序填空完成该功能。FOR N = 100 TO 999
A = INT(N / 100)
B =
C = N – INT(N / 10)* 10 IF N = A^3 +B^3 +C^3
? N
ENDIF
ENDFOR
RETURN
3、将新表 DB2.DBF 文件中学号重复的记录删掉(只保留一个)SET TALK OFF SET SAFETY
OFF
USE STDA
COPY TO DB2 USE DB2
INDEX ON 学号
TO XH DO WHILE.NOT.EOF()XH = 学号 SKIP
DELETE ENDIF ENDDO
CLEAR ALL
4、显示STDA.DBF 文件中男同学的记录
SET
TALK
OFF
SET
HEADING
OFF
USE
STDA
DO
WHILE
.NOT.EOF()
IF
ENDIF
DISPLAY
WAIT
ENDDO
USE
SET
TALK ON
RETURN
5、将STDA.DBF 表中未通过英语四级考试学生的将赏金取消,通过者奖学金加50元,并显示姓名和奖学金额。SET TALK OFF
CLEAR USE STDA DO WHILE.NOT.EOF()IF.NOT.四级通过
REPLACE 奖学
WITH 0
ELSE
? 姓名,奖学金
ENDIF
SKIP
ENDDO
USE
SET TALK ON
RETURN
6、按学号查询成绩
SET TALK OFF CLEAR SELECT 1 USE STDA
INDEX ON 学号 TO IXH SELECT 2 USE STCJ
INDEX ON 学号 TO ICJ
ACCEPT “请输入查询学号:” TO XH SEEK
XH IF
FOUND()
DISPLAY
学号,A->姓名,总分
ELSE
? “ 查无此人!”
ENDIF
USE RETURN
7、请阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。
SET
TALK
OFF
INPUT
“ 请输入一个大于1 的自然数:”
TO N
K = 0
J = 2
DO
WHILE
J < N IF MOD(N , J)
J = J +1
LOOP
ELSE
K = 1
EXIT
ENDIF
ENDDO
IF
K = 0
?
+ “ 素数”
ENDIF
? “ 再见!” SET TALK ON
RETURN
8、修改数据表文件 STDA.DBF 中指定同学的四级通过情况。SET TALK OFF USE STDA
INDEX TO ISY
DO
WHILE.T.CLEAR
ACCEPT “ 输入待学生的姓名” TO XM SEEK XM
IF
FOUND()
@ 10 , 10 SAY “ 修改” + XM + “ 的四级通过情况:” GET 四级通过
WAIT
“ 继续修改?(Y / N)”
TO N IF
ENDIF ENDDO USE RETURN
9、将数据表文件STDA.DBF 中的第三条记录与第四条记录的内容互换,并显示第三条记录。
SET
TALK
OFF
CLEAR
USE
STDA
GO
SCATTER
TO
A
GO
SCATTER
TO
B
GO
GATHER
FROM
B
DISPLAY
GO
USE
SET
TALK
ON
RETURN
10、如下程序根据键入的学号使用SQL SELECT 语句显示学生的学号、姓名和平均成绩。请在下划线处填写适当的内容,使程序能正确的运行。
DO
WHILE.T.CLEAR
ACCEPT
“请输入学号:” TO KEYNO
SELECT
STDA.学号,姓名,(高数 +计算机 +英语)/3 AS平均成绩;FROM STDA.STCJ WHERE
WAIT
“如果退出,请按【Y】键!”
TO KEY
IF
UPPER(KEY)= “ Y”
ENDIF ENDDO USE RETURN
三、程序改错题
1、在STDA.DBF 中,查询某人英语四级通过情况,若通过了,则授予学位,否则不授予学位。(1)SET
TALK OFF(2)USE
STDA
(3)ACCEPT “请输入姓名:”
TO XM(4)SEEK
FOR 姓名 = XM(5)IF
EOF()
(6)? “查无此人!”(7)RETURN(8)ENDIF
(9)IF
英语四级通过
(10)?姓名 + “英语四级通过,授予学位”(11)ELSE
(12)?姓名 + “英语四级没通过,不授予学位”(13)ENDIF(14)USE
(15)SET
TALK
ON(16)RETURN 错误的行是 改为:
2、显示 STCJ.DBF 中总分不低于190分的所有学生的姓名和总分字段的值。
(1)
SET
TALK OFF
(2)
SET
HEAD
OFF
(3)
USE
STCJ
(4)
DO
WHILE
RECNO()< = RECCOUNT()
(5)
REPL
总分
WITH
高数 +计算机 +英语
(6)
IF
总分> = 190
(7)
DISP
学号,总分 OFF
(8)
ENDIF
(9)
LOOP
(10)
ENDDO
(11)
RETURN 错误的行是: 改为:
3、在STDA.DBF 中,快速查询性别为“男”,“09/12/92”出生的人
(1)
SET
TALK OFF
(2)
USE
STDA
(3)
INDEX
ON 性别 +入学时间
TO LKL
(4)
SEEK “男” + “09/12/92”
(5)
IF
.NOT.EOF()
(6)
DISPLAY
(7)
ELSE
(8)
? “查无此人!”
(9)
ENDIF
(10)
USE
(11)
SET
TALK ON
(12)
RETURN 错误的行是: 改为:
4、求出 STCJ 表中总成绩的最大值和最小值。(1)
SET
TALK
OFF
(2)
USE
STCJ
(3)
DO
WHILE
.NOT.EOF()
(4)
REPLACE
总分
WITH 高数 +计算机+英语
(5)
SKIP
(6)
ENDDO
(7)
GO
TOP
(8)
STORE
总分
TO MAX , MIN
(9)
DO
WHILE
.NOT.EOF()
(10)
IF MAX >总分
(11)
MAX = 总分
(12)
ENDIF
(13)
IF MIN <总分
(14)
MIN = 总分
(15)
ENDIF
(16)
SKIP
(17)
ENDDO
(18)
? “最高分:” ,MAX ,”最低分:” , MIN
(19)SET
TALK
ON
(20)RETURN 错误的行是: 改为:
第九套题
一、完善程序题
1、将“职工”表中的数据按工资降序排列后生成新表,程序如下:
CLOSE
ALL
SET
TALK
OFF CLEAR USE 职工
TO 职工1 ON
工资/D USE 职工1 DISPLAY ALL USE
RETURN
2、在“职工”表中查找且显示“孙大鹏”的信息,程序如下:
SET TALK OFF CLEAR USE 职工 LOCATE
IF
FOUND()DISPLAY ENDIF USE
3、显示“职工”表中女职工的工资和,程序如下:
SET
TALK
OFF CLEAR SELECT
FROM 职工 RETURN
1、设计一个查询表单BD.SCX,其界面如图所示,其中文本框控件
名为TEXT1,表格控件名为GRID1。当在其中输入职工姓名并单击“查询”按钮时,将下边的表格内显示该职工的信息。“查询”按钮的Click 事件代码应如下:
THISFORM.GRID1.RECORDSOURCETYPE=4
THISFORM.GRID1.FRCORDSOURCE=”SELECT
* FORM 职工
WHERE
姓名
= = ”
5、将“职工”表中第6条记录的“出生日期”改为“12/12/1972”,程序如下:
SET TALK OFF CLEAR USE 职工 SKIP 5
出生日期
WITH {^1972/12/12} DISPLAY USE
牟超 20104940139
为期一周的VFP很快就结束了,我们的设计项目“医院管系统”也完成了。看着自己亲手做好的系统能够良好运行,心里是美滋滋的,整个过程中有很多喜与忧,我体验了,也正真享受到了这过程中给我带来的乐趣。我们小组3个同学也都各自保存了一份,作为纪念吧,毕竟这是我们长这么大第一次亲手设计的系统,意义真的很大。
这里首先感谢老师一学期的辛勤教导,让我了解并掌握了VFP这门编程语言,虽然我们的课程结束了,但作为信管专业学生的我知道我们还需要继续更深入的学习,毕竟我们学到的还只是皮毛而已。其次要感谢我的队友唐佳森和滕文浩,没有大家的团结,我们的系统是完不成的。
现在系统完成了,回想起整个过程,我们曾一整天呆在一起面对电脑研究程序,一起讨论,一起思考,一起解决问题,感觉真的很好。当我们解决掉一个问题时,那种喜悦与兴奋真的很难忘。我曾连续两个夜晚都搞到3点左右才睡觉,虽然很疲倦,但看着一晚上的劳动成果,其实躺下了一时也睡不着,很激动。看着整个工作慢慢往前退进,那种期待与喜悦难以名状。当我经过7个小时的努力完成连编时,更是激动地不行了,一直在哪里运行程序,第二天就把这一成果分享给了其他同学,看着大家都很激动,心里也是美滋滋的。说实话,整个过程真的很繁杂,主要是后面的调试阶段,真的花了很多时间,一次一次的修改,才使得系统渐渐没了漏洞。光是连编,我至少都弄了30次,虽然挺累的,但成功时,真的很高兴,完全掩盖了那份疲倦。
通过此次课程设计,让我对VFP课程掌握更熟练了,理解更透彻了。个人觉得此次课程设计的效果达到了,收获真的很多。我们的团结协作能力也得到了提升。总体来说,此次课程设计,累着并快乐着,谢谢我的老师,谢谢我的队友!
滕文浩
20104940140
vf课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.
通过这次课程设计,本人在多方面都有所提高。综合运用本专业所学课程的理论实际训练从而培养和提高学生独立工作能力,巩固课程所学的内容,掌握课程设计的方法和步骤,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。
在这次设计过程中,体现出自己单独设计的能力以及团队配合的重要。.综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
在此感谢我们的老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。
同时感谢对我帮助过的组长组员,谢谢你们对我的帮助和支持,让我感受到同学的友谊。
由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。
唐佳森
20104940141
为期一周的vfp课程设计在此已接近尾声!虽然仅有一周却让我们尝尽啦人生百味,酸甜苦辣各中滋味只有自己知晓!
这次课程设计让我看到啦自己的许多知识点的不足,从而让我明白知识扎实的重要性!因为基础知识的不扎实让我在这次课程设计中走啦许多弯路,不过我认为是值得的!它大大的补充啦我知识不足的那一面,我始终相信付出必有收获。
在这次课程设计中从而让我明白坚持就是胜利的真正含义。在这次课程设计中几次在反复思索却无法找到正确路径的时候,我都好想放弃啊。心想我花啦这么长的时间却没有多大的成果,内心是心酸的是无奈的,如果现在不做好那就更无法完全这次课程设计啦,因为我的坚持最后让我功确难关让我走到啦今天,呵呵真的很高兴啊,之前的那些心酸已不复存在于我的脑海中,已被喜悦填充,付出是心酸的,但最后的收获却是无穷的,让人受益无穷的,我真的很感谢这次课程设计所带给我的快乐。
VFP程序设计
——课设总结
为期几周的VFP数据库设计的课设就快过去了,在这做课设的这段时间,可以说是有苦有甜,令人难忘。因此,有必要写一篇总结,记录一下自己做课设的历程。
刚刚接到老师的课设要求的时候有点傻眼了,得优秀的要求是系统完善、写一篇系统总结、回答老师对于代码方面的提问。第一点似乎都还算能做到,但是对于我们这种连SQL语言的皮毛都没学,对于数据库的系统结构完全不了解的人,怎么能把三点要求都完成。
但是经过一段时间的摸索,我渐渐对vf的数据库系统有了大体的了解知道了什么是项目,数据库就是数据表的集合,搞清了基本表单的制作过程,知道如何用快速报表和报表向导做格式的报表,以及对报表的美化、求和、计算等处理,还有就是如何去制作菜单,以及用菜单调用各种数据文件,最后的主程序是直接复制老师的代码,但是凭着一点点C++和C语言基础,能够看懂代码的意思,这有助于我后期对整个系统进行查错和修改。下面就讲一下我对自己做的系统的总结。
1数据表(.dbf):数据表是整个系统的“原材料”,后期所有的制作处理,都是为了去处理和显示这些数据,去用这些数据,当然也可以说数据表依靠后期的表单等等呈现给用户。
2数据库(.dbc):数据库以我看来就是数据表的集合,可以将无联系的自由表集合到一个容器里,使他们可以产生联系。并且将这些表作为后面其他东西的数据环境。
3表单(.scx):表单就是最后呈现给用户的人机交互界面,并且带有一定的功能。表单的制作首先需要要给他设置数据环境,因为其上面的各种控件都是以数据环境里面的数据实现控件的意义。各种控件比如标签就是用来显示表单上需要显示的一些文字提示,文本框就是用来显示文本内容,组合框可以下拉显示一连串的内容,表格控件可以显示表格数据,可以用生成器做出自定义的表格,按钮控件可以通过某个过程比如单击执行用户需要的事件代码等等。最后表单生成以后,作为整个系统的优良的用户与系统的交互平台。
4菜单(.mnx):菜单就是整个系统调用文件的工具,通过点击菜单,可以调用任意用户想要调用的文件比如表单,数据表,程序等等。
5程序(.prg)程序就是一段代码,生成文件以后可以由其他文件调用并执行,如主程序就是在系统运行时的入口,当然得先设置好主文件;quit程序可以实现系统的退出。
除了以上几个以外,还有工具栏、自定义类等等在系统中都起着重要的作用,最后讲一下设置背景音乐所用的方法,用set bell to的方式定位到文件,用?chr(7)就能对WAV格式的音乐进行播放。
致谢:
整个课设过程收获很多,不仅仅是了解了利用Visual fox 制作系统的方法,而且还增进了同学们之间的友谊。在这里感谢同学们的互相学习以及交流分享,还有老师孜孜不倦的引导,总之,感谢老师,感谢同学,感谢大家!
本设计是基于VFP6.0软件下编写的适合于中等职业学校的学生成绩管理系统。VFP6.0是由微软公司推出的面向对象的数据管理软件, 功能很强大, 但是对整个开发环境的要求却不是很高。普通的家用电脑一般都能够运行它。
1 系统设计思想及功能分析
本系统开发的主要目的和任务是实现学生成绩录入的系统化、便捷化, 通过该系统, 可将学生每学期的成绩统计出来, 也可将学生的毕业总成绩统计出来形成最终的毕业成绩单装入档案。
1.1 系统结构设计
本系统包含4个模块, 23个子模块, 系统结构图如下:
1) 文件模块:此模块的主要功能是新生基本信息的录入、毕业生数据的删除等。包含建立新生名册子模块、删除毕业班数据子模块、退出子模块。2) 数据编辑模块:此模块的主要功能是录入学生的期末成绩、补考成绩、以及学生信息的修改等。包含输入本学期课程名称子模块、输入期末成绩子模块、修改期末成绩子模块、输入补考成绩子模块、添加学生、删除学生、修改学生姓名、修改课程名称、修改班级信息等子模块。3) 查询模块:此模块的主要功能是将之前录入的成绩按照相应的项目查找出来。4) 打印成绩模块:此模块的主要功能是将之前录入的成绩统计出来并打印。包含本学期成绩表、本学期补考名单、补考成绩表子模块、班级花名册子模块、毕业补考名单子模块、学生毕业总成绩表子模块。
1.2 数据库设计
按照系统不同的功能模块及数据存储要求, 需要不同的表来存储信息, 数据库设计如下:
2 系统模块设计
2.1 文件模块
建立新生名册子模块, 其基本数据包含:班级名称、班级字母别名 (英文简写) 、专业名称、学制、班级人数。例如, 2013年9月入校的矿山机电班有25名学生, 可在相应的项目中填写:2013矿山机电、13ksjd, 矿山机电、3年、25人, 点击输入姓名即可按顺序输入本班级学生名单, 如下图:
2.2 数据编辑模块
1) 输入本学期课程名称子模块:其基本数据包括:选择班级、学年、学期、考试课数目、考查课数目。仍以上例为例, 可在相应项目中选择2013矿山机电, 2013~2014学年, 第二学期, 考试课数目3, 考查课数目4, 考试课输入为:语文、数学、制图, 考查课输入为:德育、体育、英语、计算机, 点击保存, 本学期所有课程即输入完毕。
2) 输入期末成绩子模块:在设计本模块时需要考虑两点, 一是考试课成绩的录入需要两类数据, 即平时成绩和期末成绩, 按照一定的比例输入, 程序会按照比例自动计算出最终成绩, 而考查课只录入期末成绩即可。3) 修改期末成绩子模块:该模块的主要功能是一旦成绩录入有错, 可通过该模块修改其期末成绩。4) 输入补考成绩子模块:每一学期都有考试不及格的学生, 可通过该模块录入补考成绩, 以形成本门课程的最终成绩。5) 添加学生、删除学生、修改学生姓名子模块:可通过这三个子模块将学生的基本信息进行更改。6) 修改课程名称、修改班级信息子模块:可通过这两个模块将课程名称与班级基本信息进行修改。
2.3 查询成绩模块
1) 班级成绩查询子模块:选择相应的班级、学年、学期、查询类别即可将之前输入的成绩以列表的形式统计出来, 考试课成绩已经按照比例算好。2) 个人成绩查询模块:选择相应的班级、学年、学期、查询类别以及要查询的学生姓名即可将之前输入的成绩显示出来。3) 本学期补考科次子模块、班级毕业补考名单子模块、班级毕业补考科次子模块:此三类子模块可将之前输入的不及格成绩统计出来。
2.4 打印成绩模块
1) 本学期成绩表子模块:选择相应的班级、学期、学年, 即可将之前录入的成绩按照从高到低的顺序打印出来。2) 本学期补考名单子模块、毕业补考名单子模块:选择相应的班级、学期、学年, 并将打印类型选择为补考名单, 即可将本班级本学期所有不及格的学生成绩打印出来, 还可打印毕业班补考的总名单。3) 学生毕业总成绩表:选择相应的班级、学生, 即可将该生在校期间的所有成绩打印出来。
3 部分关键代码
参考文献
[1]孙淑霞, 李思明, 刘焕君等.Visual FoxPro 6.0程序设计教程 (第4版) [M].北京:电子工业出版社, 2013.
[2]孔庆彦.Visual FoxPro数据库应用教程[M].北京:机械工业出版社, 2010.
1.名词解释
表单:
即用户与计算机进行交流的一种屏幕界面,用于数据的显示、输入、修改,
VFP教程 七、 表单设计
。该界面可以自行设计和定义,是一种容器类,可包括多个控件(或称对象)。
表单集:
可包含一张或多张表单的容器。
数据环境:
在打开或修改一个表单或报表时需要打开的全部表、视图和关系。它以窗口形式(类似于数据库设计器)反映出与表单有关的表、视图、表之间关系等内容。可以用数据环境设计器来创建和修改表单的数据环境。
2.表单设计界面
主要包括: 表单向导、表单设计器、 表单设计器工具栏、 表单控件工具栏、 属性窗口
3.表单设计中常用的属性、事件与方法介绍
属性、事件、方法
说明
默认值
AlwaysOnTop属性控制表单是否总是处在其他打开窗口之上假(.F.)AutoCenter属性控制表单初始化时是否让表单自动地在Visual FoxPro主窗口中居中假(.F.)BackColor属性决定表单窗口的颜色255,255,255BorderStyle属性决定表单是否有边框,若有边框,是单线边框、双线边框,还是系统边框,
电脑资料
班级:财管(08)01班 姓名:
一、名词解释(每小题3分,共15分)
1、实体:是指客观存在的并且可以相互区别的事物。
2、数据库:是存储在计算机存储设备上的结构化的相关数据集合。
3、选择:从关系中找出满足给定条件的元组的操作称为选择。
4、数组:是内存中连续的一片存储区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。
5、程序:是能够完成一定任务的命令集合。
二、选择题(每小题1。5分,共30分)
1、用数据二维表来表示实体及实体之间联系的数据模型称为(D)A)实体——联系模型 B)层次模型 C)网状模型 D)关系模型
2、Visual FoxPro6.0是一种关系型数据库管理系统,所谓关系是指(C)A)各条记录中的数据库彼此有一定的关系
B)一个数据库文件和另一个数据库文件之间有一定的关系 C)数据库模型符合满足一定条件的二维表格式 D)数据库中各个字段之间彼此有一定的关系
3、数据库系统的核心是(C)
A)数据库 B)操作系统 C)数据库管理系统 D)文件
4、为了合理的组织数据,应遵从的设计原则是(D)
A)“一事一地”的原则,即一个表描述一个实体或实体间的一种联系
B)表中的字段必须是原始数据和基本数据元素,并避免在表之间出现重复字段 C)用外部关键字保证有关联的表之间的联系 D)以上各项原则都包括
5、下面关于工具栏的叙述,错误的是(D)
A)可以定制用户自己的工具栏 B)可以修改系统提供的工具栏 C)可以删除用户创建的工具栏 D)可以删除系统提供的工具栏
6、项目管理器的“数据”选项卡用于显示和管理(C)
A)数据库、自由表和查询 B)数据库、视图和查询 C)数据库、自由表、查询和视图 D)数据库、表单和查询
7、从“表单”菜单中,选择“快速表单”可以打开(B)
A)表单设计器 B)表单生成器 C)表单向导 D)命令按钮组生成器
8、参照完整性生成器在以下情况下显示(D)A)在“数据库设计器”中双击两个表之间的关系线,在“编辑关系”对话框中选择“参照完整性”按钮
B)从“数据库设计器”快捷菜单中选择“参照完整性”选项 C)选择“数据库”菜单中“编辑参照完整性”选项 D)以上三种情况均显示
9、要想将日期型或时间型数据中的年份用4位数字显示,应当使用设置命令(A)
A)SET CENTURY ON B)SET CENTURY OFF C)SET CENTURY TO 4 D)SET CENTURY OF 4
10、进行字符串比较时,使命令?“我们大家”=“我们”的结果为逻辑假的设置是(A)
A)SET EXACT ON B)SET EXACT OFF C)SET COLLATE TO”Machine” D)SET COLLATE”Stroke”
11、设N=886,M=345,K=”M+N”,表达式1+&k的值是(A)A)1232 B)346 C)1+M+N D)数据类型不匹配
12、连续执行以下命令之后,最后一条命令的输出结果是(C)SET EXACT OFF X=”A”
?IIF(X=”A”,X-“BCD”,X+”BCD”)A)A B)BCD C)ABCD D)A BCD
13、在下面的Visual FoxPro表达式中,运算结果为逻辑真的是(B)A)EMPTY(.NULL.)B)LIKE(‘xy?’,’xyz’)C)AT(‘xy’,’ancxyz’)D)ISNULL(SPACE(0))
14、下面关于过程调用的叙述中,正确的是(C)A)实参与形参的数量必须相等
B)当实参的数量多于形参的数量时,多余的实参被忽略 C)当形参的数量多于实参的数量时,多余的形参取逻辑假 D)上面B)和C)都对
15、如果一个过程不包含RETURN语句,或者RETURN语句中没有指定表达式,那么该过程(C)
A)没有返回值 B)返回0 C)返回.T.D)返回.F.16、有如下程序: INPUT TO A IF A=10 S=0 ENDIF S=1 ?S 假定从键盘输入的A的值是数值型,那么上面程序的执行结果是(B)A)0 B)1 C)由A的值决定 D)程序出错
17、在Visual FoxPro中,有如下内存变量赋值语句: X={^2001-07-28 10:15:20 PM} Y=.T.M=$123.45 N=123.45 Z=”123.24”
执行上述赋值语句之后,内存变量X、Y、M、N和Z的数据类型分别是(D)A)D、L、Y、N、C B)D、L、M、N、C C)T、L、M、N、C D)T、L、Y、N、C
18、打开一个数据库的命令是(D)
A)USE B)USE DATABASE C)OPEN D)OPEN DATABASE
19、Visual FoxPro数据库文件是(B)
A)是存放用户数据的文件 B)是管理数据库对象的系统文件 C)是存放用户数据和系统数据的文件 D)前三种说法都对 20、以下关于自由表的叙述正确的是(C)A)全部是用以前版本的FOXPRO(FoxBASE)建立的表
B)可以用VISUAL FOXPRO建立,但是不能把它添加到数据库中
C)自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表 D)自由表可以添加到数据库中,但数据库表不可以从数据库中移出成为自由表
三、填空题(每空0。5分,共15分)
1、数据模型不仅表示反映事物本身的数据,而且表示(事物之间的联系)
2、二维表中的列称为关系的(属性)二维表中的行称为关系的(元组)
3、退出Visual FoxPro 系统的命令是(QUIT)
4、Visual FoxPro不允许在关键字段中有重复值或(空值)
5、安装完Visual FoxPro之后,系统自动用一些默认值来设置环境,要指定自己的系统环境,可单击(工具)菜单下的(选项)菜单项
6、在Visual FoxPro中,常量¥960.10的数据类型是(货币型或Y),常量{^2006-10-10,15:30:00}的数据类型是(日期时间型或T)
7、要显示名字以MY开头的所有内存变量,应当使用命令LIST MEMORY(LIKE MY*).8、顺序执行下列操作后,屏幕最后显示的结果是(D)和(C).Y=DATE()H=DTOC(Y)?VARTYPE(Y),VARTYPE(H)
9、在Visual FoxPro中,编辑已有程序文件mypro.prg的命令是(MODIFY COMMAND mypro);执行该程序文件的命令是(DO mypro).10、过程文件的默认扩展名是(.prg),打开过程文件p1的命令是(SET PROCEDURE TO pl)
11、Visual FoxPro的主索引和候选索引可以保证数据的(实体)完整性。
12、实现表之间临时关联的命令是(SET RELATION)
13、在Visual FoxPro中所谓自由表就是那些不属于任何(数据库)-的表。
14、在Visual FoxPro中假定数据库表S(学号,姓名,性别,年龄)和SC(学号,课程号,成绩)之间使用“学号”建立了表之间的联系,在参照完整性的更新规则、删除规则和插入规则中选择设置了“(限制)”,那么如果表S所有的记录在表SC中都有相关的记录进行连接,则不允许修改表S中的学号字段值。
15、SQL支持集合的并运算,运算符是(UNION)
16、在Visual FoxPro中SQL DELETE 命令是(逻辑)删除记录
17、SQL DELETE语句为了将查询结果存放到临时表中应该使用(INTO CURSOR)短语。
18、如下命令将“产品”表的“名称”字段名修改为“产品名称”: ALTER TABLE 产品 RENAME(COLUMN)名称TO产品名称
19、假设“歌手”表中有“歌手号”、“姓名”和“最后得分”3个字段,“最后得分”越高名次越靠前,查询前10名歌手的SQL语句是:SELECT*(TOP 10)FROM歌手ORDER BY 最后得分(DESC)20、查询设计器的筛选选项卡用来指定查询的(条件)。
21、通过在Visual FoxPro的视图,不仅可以查询数据库表,还可以(操作或更新)数据库表。
22、建立远程视图必须首先建立与远程数据库的(连接)。
23、在Visual FoxPro中为了通过视图修改表中的数据,需要在试图设计器的(更新条件)选项卡中设置有关属性。
四、判断题(每小题1分,共10分)
1、Visual FoxPro参照完整性规则不包括查询规则(√)
2、设有两个数据库表,父表和子表之间是一对多的联系,为控制父表和子表中数据的一致性,可以设置“参照完整性规则”,要求这两个表在父表连接字段上建立普通索引,在子表连接字段上建立主索引(×)
3、在Visual FoxPro中,使用LOCAT ALL FOR
4、SQL的操作语句不包括UPDATE(×)
5、SQL语句中删除表的命令是DROP TABLE(√)
6、假设数据库中有“歌手”表,为其增加一个字段“最后得分”的SQL语句是ALTER TABLE歌手ADD最后得分F(6,2)(√)
7、SQL命令:ALTER TABLE S ADD 年龄CHECK 年龄>15 AND 年龄<30,命令的含义是给数据库表S增加一个“年龄”字段(√)
8、查询设计器中包括的选项卡有条件、排序依据、分组依据(×)
9、在Visual FoxPro中,查询是一个预先定义好的SQL SELECT语句文件(√)
10、在Visual FoxPro中,通过视图可以对表进行更新(√)
五、程序填空(每空5分,共10分)请对计算乘法表XY.PRG的程序填空: SET TAL OFF CLEAR FOR J=1 TO 9 ?STR(J,2)+′)′
FOR(K=1 TO J)??(str(j*k,6))ENDFOR ? ENDFOR RETURN
六、程序设计题(每小题10分,共20分)
1、编写程序求S=1+2+……+100的值 Clear S=0 I=1 Do while i<=100 S=s+1 I=i+1 Enddo ?”s=”,s Return
2、编写程序,判断一个大于3的自然数是否为素数 Clear Input “请输入自然数(>=3):” to n F=0 I=2 Do while i<=int(sqrt(n))If mod(n,i)<>0 I=i+1 Loop Else F=1 Exit Endif Enddo
?str(n,3)+”是素数” Else ?str(n,3)+”不是素数” Endif Return
2008/2009学年第二学期数据库期末考试卷
班级:财管(08)01班 姓名:
一、名词解释(每小题3分,共15分)
1、数据:是指存储在某一种媒体上能够识别的物理符号。
2、数据库应用系统:是指系统开发人员利用数据库系统资源开发出来的、面向某一类实际应用的应用软件系统。
3、关键字:属性或属性的结合,关键字的值能够惟一地标识一个元组。
4、常量:通常指以文字串形式出现在代码中的数据,代表一个具体的、不变的值。
5、表达式:是由常量、变量和函数通过特定的运算符连接起来的式子。
二、选择题(每小题1。5分,共30分)
1、数据库DB、数据库系统DBS数据库管理系统DBMS三者之间的关系是(A)A)DBS包括DB和DBMS B)DBMS包括DB和DBS C)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS
2、关系数据库的任何检索操作所涉及的三种基本运算不包括(B)A连接 B)比较 C)选择 D)投影
3、数据库管理员的主要职责不包括(C)
A)参与数据库的规划、设计和建立 B)规划和实施数据库备份和恢复 D)开发数据库应用系统 D)规划和实施数据库备份和恢复
4、显示与隐藏命令窗口的错误操作是(B)
A)单击常用工具栏上的“命令窗口”按钮 B)退出Visual FoxPro,再重新打开
C)分别按Ctrl+F4和Ctrl+F2组合键 D)通过“窗口”菜单下的“命令窗口”选项来切换
5、在选项对话框的“文件位置”选项卡中可以设置(B)A表单的默认大小 B)默认目录 C)日期和时间的显示格式 D)程序代码的颜色
6、项目管理器的“文档” 选项卡用于显示和管理(D)
A表单、报表和查询 B)数据库、表单和报表 C)查询、报表和视图 D)表单、报表和标签
7、为了对表单中的多个同类控制进行统一格式化,可以使用(B)
A)自动格式设计器 B)自动格式生成器 C)自动格式向导 D)命令按钮组生成器
8、在Visual FoxPro6.0中修改数据库、表单、报表等组件的可视化工具是(B)A)向导 B)设计器 C)生成器 D)项目管理器
9、要想将日期型或日期时间型数据中的年月日分隔符用竖杠(|)表示,错误的设置命令是(D)
A)SET MARK TO”|” B)SET MARK TO’|’ C)SET MARK TO[|] D)SET MARK TO |
10、在下面的Visual FoxPro表达式中,不正确的是(C)
A){^2001-05-01 10:10:10 AM}-10 B){^2001-05-01}-DATEC()C){^2001-05-01}+DATE()D)[^2001-05-01]+[1000]
11、如果内存变量和字段变量均有变量名“姓名”,那么引用内存变量的正确方法是(D)
A)M.姓名 B)M->姓名 C)姓名 D)A)和B)都可以
7、设D=5>6,命令?VARTYPE(D)的输出值是(A)A)L B)C C)N D)D
12、在下列函数中,函数值为数值的是(C)
A)BOF()B)CTOD(‘01/01/96’)C)AT(‘人民’,’中华人民共和国’)D)SUBSTR(DTOC(DATE()),7)
13、表达式VAL(SUBS(“奔腾586”,5,1))*LEN(“Visual FoxPro”)的结果是(C)
A)63.00 B)64.00 C)65.00 D)66.00
14、有如下赋值语句:a=“你好“,b=“大家”,结果为“大家好“的表达式是(D)
A)b+AT(a,1)B)b+RIGHT(a,1)C)b+LEFT(a,3,4)D)b+RIGHT(a,2)
15、要将当前表当前记录数据复制到数组中,可以使用命令:(B)A)GATHE TO B)SCATTER TO C)GATHER FROM D)SCATTER FROM
16、在Visual FoxPro中,用于建立或修改过程文件的命令式(B)A)MODIFY<文件名> B)MODIFY COMMAND<文件名>
C)MODIFY PROCEDURE<文件名> D)上面B)和C)都对
17、有一分支程序为: IF S>100 DO P1.PRG ELSE IF S>10 DO P2.PRG ELSE IF S>1 DO P3.PRG ELSE DO P4.PRG ENDIF ENDIF ENDIF 那么执行P3.PRG的条件是(D)
A)S>1
B)S>1ANDS>100
D)S>1ANDS<=10
18、有如下程序文件mal.prg: SET UDFPARMS TO VALUE n=1 DO procl WITH n ?n+2 PROCEDURE procl PARAMETERS m FOR k=2TO4 M=m+k ENDFOR RETURN 在命令窗口输入DO ma l命令后,程序的输出结果是(A)12 B)11 C)10 D)3
C)S>1ANDS<100 A)
19、在Visual FoxPro中不允许出现重复字段值的索引是(A)A)候选索引和主索引 B)普通索引和唯一索引 C)唯一索引和主索引 D)唯一索引 20、要为当前表所有职工增加100元工资应该使用命令(D)A)CHANGE工资WITH工资+100 B)REPLACE工资WITH工资+100 C)CHANGE ALL工资WITH工资+100 D)REPLACE ALL工资WITH工资+100
三、填空题(每空0。5分,共15分)
1、用二维表的 形式来表示实体之间联系的 数据模型称为(关系模型)
2、在关系数据库的基本操作中,从表中取出满足条件元组称为(选择);把俩个关系中的相同属性值的元组连接到一起,并去掉重复属性形成新的二维表的操作称为(自然连接);从表中抽取属性值满足条件的列的操作称为(投影)
3、在Visual FoxPro的表之间建立一对多联系是把(“一方”)的主关键字或侯选关键字字段添加到(“多方”)的表中
4、要想清除主窗口屏幕,应使用命令(CLEAR)
5、要设置日期和时间的显示格式,应当选择“选项”对话框的(区域)选项卡。
6、项目管理器文件的扩展名是(pjx)
7、扩展名为.prg的程序文件在项目管理器的“全部”和(代码)的选项卡中显示和管理
8、要把项目管理器拆分成独立的浮动窗口,必须首先(折叠)项目管理器窗口。
9、要将数组XYZ中的数据复制到表的当前记录中,并且包括备注型字段,应使用命令(GATHER FROM)XYZ MEMO.10、函数TIME()返回值的数据类型是(字符型或C);命令?ROUND(337.2007,3)的执行结果是(337.201);命令?LEN(SPACE(3)-SPACE(2))的执行结果是(5).11、顺序执行下列操作后,屏幕最后显示的结果是(6)和(2).X=”迎接2008年北京奥运会” ?AT(“0”,X)?OCCURS(“0”,X)
12、按作用域划分,将能够在建立它的模块及其下属各模块中使用的变量称为(私有变量);将只能在建立它的模块中使用的变量称为(局部变量).13、数据库表之间的关联通过猪表的(主)索引和子表的(普通)索引实现。
14、在定义字段有效性规则时,在规则框中输入的表达式类型是(逻辑型)
15、在Visual FoxPro中,索引文件分为独立索引文件、复合索引文件和结构复合索引文件3种。在表设计中建立的索引都存放在扩展名为(cdx)的索引文件中。
16、在指定字段或表达式中不允许出现重复值的索引是(主索引和候选索引)
17、在SQL语句中空值用(NULL)表示
18、在SQL DELETE 中用于计算检索的函数有COUNT、(avg)、(sum)、MAX和MIN。
19、在SQL DELETE 语句中为了将查询结果存放到永久表应该使用(INTO TABLE或 INTO N DBF)短语。
20、在Visual FoxPro中,用SQL语句创建表时定义主索引;实现实体完整性规则使用的短语是(PRIMARY KEY)
21、在Visual FoxPro中,如果要将学生表S(学号,姓名,性别,年龄)中“年龄”属性删除,正确的SQL命令是ALTER TABLE S(DROP COLUMN)年龄。
四、判断题(每小题1分,共10分)
1、在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是为了对表进行实体完整性约束(×)
2、在Visual FoxPro 中,使用LOCAT FOR
3、在Visual FoxPro中,如果在表之间的联系中设置了参照完整性规则,并在删除规则中选择了“限制”,当删除父表中的记录时,系统反应是不准删除父表中的记录(√)
4、SQL语句中条件短语的关键字是WHILE(×)
5、SQL语句中修改表结构的命令是MODIFY STRUCTURE(×)
6、数据库表“评分”有歌手号、分数和评委号三个字段,假设某记录的字段值分别是1001、9.9和105,插入该记录到“评分”表的SQL语句是INSERT INTO评分(歌手号,分数,评委号)VALUES(“1001”,9.9,”105”)(√)
7、假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是SELSCT 产品名称,AVG(单价)FROM产品GROUP BY 产品名称(√)
8、在当前数据库中根据“歌手”表建立视图myview,视图中包括了“歌手号”
左边第一位是“1”的所有记录,正确的SQL语句是CHEATE VIEW myview AS SELECT*FROM歌手 WHERE LEFT(歌手号,1)=“1”(√)
9、删除视图myview 的命令是DROP VIEW myview(√)
10、在Visual FoxPro中,通过视图可以对表进行查询(√)
五、程序填空(每空5分,共10分)
下面程序求数组中各元素的值的和,请完善程序。SET UDFPARMS TO(REFERENCE)DIMENSION x(10)FOR i=1 TO 10 INPUT”x(“+STR(i,2)+”)=”TO x(i)ENDFOR ?“各元素值的和为:”,f(x)RETURN PROCEDURE f PARAMETERS y(s=0)FOR i=1TO10(s=s+y(i))ENDFOR RETURN s
六、程序设计题(每小题10分,共20分)
1、编程找出100~999之间的所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位的立方和等于该数本身。Clear For i=100 to 999 A=int(i/100)B=int((i-a*100)/10)C=i-int(i/10)*10 If i=a^3+b^3+c^3 ?i Endif
Endfor Return
2、编程从键盘上输入十个数,然后找出其中的最大数和最小数。Clear Input “请输入一个数:” to a Store a to min,max For i=2 to 9 Input “请输入一个数:”If a>max then Max=a Endif If a 一、管理系统需求分析 华东交通大学是一所以工为主的综合性大学, 培养涵盖了普通专科、本科、专升本教育, 其中又有辅修专业、背景专业, 十分复杂。管理涉及面广, 数据处理任务重。主要工作有:各类毕业生数据统计, 学历证书及学位证书打印、管理、发放, 学历及学位证明书补办, 学历学位电子信息注册等。原来功能单一的证书打印系统, 效率低下, 人为出错率高, 已不能适应我校的发展, 急需一套新的系统来对毕业生进行管理, 提高工作效率, 保证学校的稳定。 二、管理系统功能模块 基于系统需求, 选用了VFP6.0作为开发工具, 该管理系统包括了证书打印、各种报表打印、电子数据输出、数据统计上报等模块。 (一) 证书打印模块 此为该系统核心模块。包含毕业证书打印, 学士学位证书打印, 结业证书打印, 肄业证书打印, 辅修专业证书打印, 辅修学士学位证书打印, 学业证书打印等, 并可按学院、班级、批量打印, 并可按个人单独打印。 (二) 各种报表打印 包括证书审批表、证书发放表、毕业生花名册、学院 (班级) 毕业生统计表, 电子注册报表, 电子注册报告等。 (三) 电子数据输出 根据教育部普通高等学校学生信息网的学历注册数据结构要求, 输出学校上报的电子数据, 可直接上传至学历平台。根据学位备案平台数据结构要求, 输出学位信息电子数据, 并与其对接。 (四) 其他 如学历证明书、学位证明书办理审批、打印等功能。 三、管理系统开发实现 管理系统包括了数据库、自由表、表单及多个报表。 (一) 建立毕业生信息数据库 建立毕业学生基本信息数据库, 各项功能的实现都查询引用该表的相关数据。此库的结构与学校教务管理系统数据库对接, 可将学生毕业资格审查的结果直接导入本系统中。 (二) 功能模块设计 图1所示为系统主界面, 采用页框控件 (Page Frame) , 各项功能清晰明了, 方便直观。报表使用VFP6.0自带的报表设计器。 (三) 核心功能模块实现 此管理系统最核心的功能是证书打印功能, 这是设计的重点, 也是设计的难点。 为了便于管理和发放, 通常证书是按学院顺序, 以班级为单位进行打印。基于前面的分析, 我校的学生培养模式比较复杂, 学校不同专业的证书打印模式存在差异, 有时甚至同一个班级的学生的证书打印专业及学位信息的格式也不尽相同。在使用老系统的情况下, 只能是相同模板的证书一批打印, 然后再调整模板后再打印。工作效率极其低下, 并且极易出错, 严重影响毕业生离校工作的顺利进行, 容易出现安全隐患。 基于这种实际情况, 我们的设计思想是:基于毕业生数据库, 选择或输入班级编号后, 该班学生的证书一起打印出来。为此, 设计了多个证书的模板, 并根据每个毕业生的专业学位等信息自动判断其应采用哪种证书模板, 并自动调用打印。整个证书打印过程中不需要进行任何调整。主要设计思想及程序代码描述如下: 1.根据设定的第一个证书模板对要打印班级学生的毕业结论及专业学位等信息进行查询, 并生成临时数据表。程序代码如下: &&byz01格式 where bh==alltrim (thisform.Pageframe1.page1.text1.value) and bjyjl="毕业"and dybj=""and csd=""and zyfx=""and fxzy=""into cursor byz01 2.如果该数据表数据记录不为空, 则调用第一个模板进行打印。程序代码如下: if reccount () >0 report form byz01.frx to print endif 3.重复第1步, 用设定的第二个证书模板进行查询后, 重复第2步。直至将设定的所有模板条件查询打印完毕。 &&byz02格式 select*from bys; where bh==alltrim (thisform.Pageframe1.page1.text1.value) and bjyjl="毕业"and dybj=""and csd=""and zyfx=""and fxzy<>""into cursor byz01 if reccount () >0 report form byz02.frx to print endif …… &&打印后将打印标记赋为"是" update bys set dybj="是"where bh==alltrim (thisform.Pageframe1.page1.text1.value) 四、结束语 该管理系统的应用, 结束了以往主要靠人工处理数据, 效率低下, 出错率高的状况。将毕业证书打印等复杂工作全部由计算机完成, 比原来的打印系统更加精准、智能和高效, 保证了证书的及时发放。仅证书打印工作效率就提高了三分之二以上。该系统将会根据办学的需要, 不断完善, 进一步提高工作的信息化水平。 参考文献 [1]吴昊, 熊李燕.Visual Fox Pro程序设计[M].中国铁道出版社, 2008. 一,实验目的掌握一些access数据库的表,查询,窗体,报表和宏的应用和技巧。 二,使用环境 Access2003 三,内容与设计思想 1.系统主要有: 班级信息表,课程学年信息表,学生信息表,各科信息表,总成绩表,课程信息表,获奖信息表。 2.系统的设计思想: (1)为了记录班级信息,需要建立班级信息表。 (2)为了记录信息信息,需要建立学生信息表。 (3)为了记录课程信息,需要建立课程信息表。 (4)为了记录课程学年信息,需要建立课程学年表。 (5)为了记录学生各科成绩信息,需要建立各科信息表。 (6)为了记录学生总成绩信息,需要建立总成绩信息表。 (7)为了记录获奖信息,需要建立课获奖信息表。 3.完成的主要功能: (1)浏览功能,这功能包括:浏览班级信息,浏览学生信息,浏览学生各科成绩,浏览 学生总成绩,浏览获奖学生信息 (2)查询功能,这功能包括:学生成绩查询,班级信息查询,个人信息查询。 (3)添加功能,这功能包括:添加课程学年信息,添加班级信息,添加学生信息,添加 课程信息,添加学生各科成绩,添加学生总成绩,添加获奖学生信息。 (4)删除功能,这功能包括:删除课程学年信息,删除班级信息,删除学生信息,删除 课程信息,删除学生各科成绩,删除学生总成绩,删除获奖学生信息。 (5)打印功能,这功能包括:打印学生信息,打印班级信息。 (6)菜单栏功能,这功能包括:打开,浏览,查询,添加,删除,打印。 四,实验过程 1.登录界面模块 此功能模块主要作用是将用户的用户名和密码来登录,进入学生信息管理系统界面。设计此模块时运用了相关的宏。 2.主界面模块 此功能模块主要作用是用切换面板形式连接到其他界面。 设计此模块时运用了相关的宏。 3.浏览模块 此功能模块主要作用是将用户已输入好的各种信息按用户选择浏览模式集成到一个 界面。 4.查询模块 此功能模块主要作用是将用户想查询的信息按各种查询方式来实现。 主要用的查询方式是:交叉表查询,选择查询。 设计此模块切换面板时运用了相关的宏还在VB代码窗口写了一些有关的代码,比如 说:按用户选择的查询方式来显示一些文本框和按钮,主要用了它们的Enabled, Value, Visible属性。 5.添加模块 此功能模块主要作用是将数据库所有的信息集成到各个界面,用户选择添加的内容并 输入完后保存到相关的数据库表中。 6.删除模块 此功能模块主要作用是将数据库所有的信息集成到各个界面,用户选择删除的内容并 按删除按钮时从相关的数据库表中删除此信息。 设计此模块切换面板时运用了相关的宏。 7.打印模块 此功能模块主要作用是将用户想要的信息转换成报表形式。 此模块利用了查询与报表等功能。 设计此模块切换面板时运用了相关的宏还在VB代码窗口写了一些有关的代码,比如说:按用户选择的打印方式来显示一些文本框和按钮,主要用了它们的Enabled, Value, Visible属性。 8.菜单栏模块 此功能模块主要作用是将本系统所有的模块集成到菜单形式。 设计此模块运用了相关的宏。 五,实验结果 在此次系统的设计中我遇到了一些问题,第一个是:因建的关系错误,输入数据时输入不成功,反复做了一些调整还加了一些表终于解决了此问题。第二个是:做查询窗体时解决不了把查询结果集成到窗体的形式来显示,但是反复试试和看课程教材终于解决了此问题,由于一次性看到所查询的信息把学生信息查询的结果没集成到窗体形式。查询班级信息和个人信息时查询结果都是窗体的形式来显示。 在设计此次系统各个功能和模块式时我运用了一些宏知识和VB知识。宏主要用在登录窗口,菜单栏和各个窗体的切换功能。VB代码主要是用在查询和打印这两个窗体,为了按用户所选的查询和打印方式来显示需要的控件,这些控件包括:文本框和按钮。主要用了它们的Enabled, Value, Visible属性来实现显示需要的控件。为了窗体的外观好看用photoshop设计了窗体背景,由于时间的关系还一些窗体的背景还没做完。 【vfp学生信息管理系统】推荐阅读: 学生课程信息管理系统12-15 学生信息管理系统功能12-17 学生信息管理系统概述02-19 学生选课管理信息系统规划07-08 学生信息查询系统05-30 学生信息管理系统c03-27 学生信息管理系统的开发意义10-10 信息管理系学生求职信01-21 经济信息管理学生的自我介绍02-02 信息管理学院学生管理工作制度02-18vfp学生信息管理系统 篇10
《学生信息管理系统》实验报告 篇11