上图确定键的Click事件的代码为: i=i+1
if thisform.text1.value=\thisform.release else
if i<3 &&允许输入三次
messagebox(\密码错误,请重新输入!最多三次尝试机会^_^哦\ thisform.text1.value=\清空表单 thisform.text1.setfocus &&获得焦点 else
messagebox(\密码错,明天再试吧\ thisform.release endif endif
取消键的Click事件的代码为: quit
2、主菜单程序
按照菜单图示建立菜单的内容,一层菜单包括数据录入、数据修改、数据查询、数据统计与管理、数据打印和退出项。
(1)退出菜单项的命令 clear events
(2)数据录入项 此项有两个子菜单,分别是学生成绩和基本信息,用于输入新学生的各项成绩和增加最终打印报表中的基本信息。
其中,学生成绩子菜单是过程,其代码是: close all
use 学生成绩 append use
基本信息子菜单也是过程,其代码是: close all
use 基本信息表 append use
(3)数据修改项
此项也有两个子菜单,也是学生成绩和基本信息,用于修改学生的各项成绩和最终打印报表中的基本信息。
其中,学生成绩子菜单是过程,其代码是: close all
use 学生成绩 browse use
基本信息子菜单也是过程,其代码是: close all
use 基本信息表 browse use
(4)数据查询项
此项包括两个子菜单,按姓名查询和按成绩查询,它们都是命令,分别用于显示各自的表单。
按姓名查询的命令是“do form 输入学生姓名”,所出现的表单如下:
其中Text1中的LostFocus事件的代码是:xm=thisform.Text1.VALUE Form1的Load事件的代码是:public xm,用来定义公共变量xm 确定按钮的Click事件的代码是 use 学生成绩
locate for 姓名=trim(xm) if not found()
wait window\无此学生!\else
brow for 姓名=trim(xm) thisform.release endif
在Text1中输入学生姓名,点击确定即可查出此学生的相关成绩。 按学号查询的命令是“do form 输入学生学号”,所出现的表单如下:
其中Text1中的LostFocus事件的代码是:xh=thisform.Text1.VALUE Form1的Load事件的代码是:public xh,用来定义公共变量xh 确定按钮的Click事件的代码是 use 学生成绩
locate for 学号=trim(xh) if not found()
wait window\无此学生!\else
brow for 学号=trim(xh) thisform.release endif
在Text1中输入学生姓名,点击确定即可查出此学生的相关成绩。 (4)数据统计与管理项
此项包括两个子菜单,分别是相关成绩统计和成绩排序。 其中相关成绩统计是过程,其代码是: clear
*成绩人数段 use 学生成绩
count for 最终成绩<=100 and 最终成绩>=90 to a ?\分的学生人数为:\?
count for 最终成绩<90 and 最终成绩>=80 to b ?\分的学生人数为: \?
count for 最终成绩<80 and 最终成绩>=70 to c ?\分的学生人数为: \?
count for 最终成绩<70 and 最终成绩>=60 to d ?\分的学生人数为: \?
count for 最终成绩<60 and 最终成绩>=0 to e ?\分的学生人数为: \?
use 分数段人数
replace 不及格 with e
replace 六十到七十 with d replace 七十到八十 with c replace 八十到九十 with b replace 九十到一百 with a *平均分数 use 学生成绩
calculate avg(平时成绩),avg(考试成绩),avg(最终成绩) to f,g,h ?\全班学生的平时成绩平均分数为:\?
?\全班学生的考试成绩平均分数为:\?
?\全班学生的平均分数为: \?
*平均离差 i=h-60
?\全班学生的平均离差为: \?
*标准差 j=a+b+c+d+e store 0 to x,y go top
for k=1 to j x=最终成绩-h y=y+x*x skip endfor z=y/j l=sqrt(z)
?\全班学生的标准差为: ?
*极差 store 0 to s store 100 to t go top
for m=1 to j if s<最终成绩 s=最终成绩 endif skip endfor go top
for m=1 to j if t>最终成绩 t=最终成绩 endif skip endfor n=s-t
?\全班学生的极差为: ?
*合格率 o=a+b+c+d p=o/j
\ \ ?\全班学生的合格率为: %use 相关数据统计
replace 平均分数 with h replace 平均离差 with i replace 标准差 with l replace 极差 with n replace 合格率 with p
此过程命令完成后会在屏幕上显示相关内容,另外还会把显示的数据输入到相关成绩统计.DBF和分数段人数.DBF两个表中,用于和以后的打印报表相关联,输出数据。
成绩排序也是子菜单,包括从按成绩高到低排序和从按成绩低到高排序两个过程。 其中从按成绩高到低排序的过程代码是: clear
use 学生成绩
sort to 从高到低成绩排序 on 最终成绩/D fields 学号,姓名,平时成绩,考试成绩,最终成绩
use 从高到低成绩排序 list
r=recc(select())
dimension shuzu(r,5)
copy to array shuzu fields 学号,姓名,平时成绩,考试成绩,最终成绩 use 成绩从高到低排序 delet all pack
append from array shuzu close all
从按成绩低到高排序的过程代码是: clear
use 学生成绩
sort to 从低到高成绩排序 on 最终成绩 fields 学号,姓名,平时成绩,考试成绩,最终成绩 use 从低到高成绩排序 list
r=recc(select())
dimension shuzu(r,5)
copy to array shuzu fields 学号,姓名,平时成绩,考试成绩,最终成绩 use 成绩从高到低排序 delet all pack
append from array shuzu close all
这两个过程命令执行完成后,会生成从低到高成绩排序.DBF和从高到低成绩排序.DBF俩个表,然后分别传递到成绩从高到低排序.DBF和成绩从低到高排序.DBF,因为前两个表是自己生成,在每次显示时都会先删除在生成,所以学要另外两个表用于存放,这就要设临时变量,然后把后两个表与打印报表相关联,用于输出数据。
(5)表格打印项
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VF学生成绩管理系统实验报告(2)在线全文阅读。
相关推荐: