vf课程设计学籍管理系统Word下载.docx

上传人:b****8 文档编号:22527998 上传时间:2023-02-04 格式:DOCX 页数:18 大小:21.48KB
下载 相关 举报
vf课程设计学籍管理系统Word下载.docx_第1页
第1页 / 共18页
vf课程设计学籍管理系统Word下载.docx_第2页
第2页 / 共18页
vf课程设计学籍管理系统Word下载.docx_第3页
第3页 / 共18页
vf课程设计学籍管理系统Word下载.docx_第4页
第4页 / 共18页
vf课程设计学籍管理系统Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

vf课程设计学籍管理系统Word下载.docx

《vf课程设计学籍管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《vf课程设计学籍管理系统Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

vf课程设计学籍管理系统Word下载.docx

功能:

提供程序的主界面和进入系统各功能模块的接口,包括一个自右向左滚动的飞字程序。

源程序:

settalkoff&

&

关闭人机对话

setescapeoff&

设置ESC脱离键不起作用,即误按该键不会终止程序的执行clearall&

清屏

setcoloto0/7,7/0&

设置VFP系统的默认颜色

clear&

@4,42clearto30,92

setcoloto7+/0+&

从第4行第42列到第30行第92列产生白字黑底的色块

@4,42clearto30,92&

显示色块

@3,40clearto29,90

setcoloto7+/4&

从第3行第40列到第29行第90列产生白字黑底的色块

@3,40clearto29,90&

@4,42,28,88boxspace(9&

从左上角第4行第42列到右下角第28行88列产生线框

@7,52say'

==学生学籍管理系统=='

&

在第7行第52列显示学生学籍管理系统的字样

@8,50say'

-------------------------------'

在第8行第50列显示分隔线条

@9,57say'

==1.录入数据=='

在第9行第57列显示1.录入数据字样

@11,57say'

==2.修改数据=='

在第11行第57列显示2.修改数据字样

@13,57say'

==3.查询数据=='

在第13行第57列显示3.查询数据字样

@15,57say'

==4.统计数据=='

在第15行第57列显示4.统计数据字样

@17,57say'

==5.显示数据=='

在第17行第57列显示5.打印数据字样

@19,57say'

==6.删除数据=='

在第19行第57列显示6.退出数据字样

@21,57say'

==7.退出=='

在第21行第57列显示7.退出字样x=1&

设初值x=1

b1="

◆欢迎您使用学生学籍管理系统&

将字符串赋给变量b1

dowhile.t.&

当条件成立时计算机做下面的语句hz1=substr(b1,x,29&

取字符串b1从第1个字符到第29个字符赋给变

量hz1

@25,51sayhz1&

在第25行第51列显示字符串hz1

bb=inkey(0.6&

将等待0.6秒击键的inkey函数赋给bb

ifbb<

>

0&

变量bb不等于0,即有击键动作发生exit&

那么,不显示字符串

endi&

与if条件判断语句相配对

x=x+2&

将变量x的值加2赋给x

ifx>

83&

如果变量x大于83个字符

x=1&

那么,将1赋给变量x,即从头开始显示字符串

endd&

与dowhile循环语句相配对

@27,51say'

请选择1--7:

'

在第27行51列显示请选择1-7:

的字样

wait'

'

tok&

计算机等待用户从键盘输入一个字符给变量kdocase&

做选择语句

casek='

1'

当变量k的值等于1时

doa:

\input&

计算机跳转到a:

\input子程序

2'

当变量k的值等于2时

\modify&

\modify子程序

3'

当变量k的值等于3时

\search&

\search子程序

4'

当变量k的值等于4时

\total&

\total子程序

5'

当变量k的值等于5时

\dp&

\dp子程序

6'

当变量k的值等于6时

\del&

\del子程序

7'

当变量k的值等于7时

retu&

返回VFP主程序

endcase&

与docase选择语句相配对

setdecimalsto2

setfdowto1

setfweekto1

setmarkto….‟

Setseparatorto….”

Setpointto….‟

2、录入模块子程序(A:

\input.prg

提供卡片式的录入数据界面。

settalkoff

usea:

\xj&

打开a:

\xj.dbf数据库文件

gobott&

将记录指针移到数据库的末尾

skip&

跳到下一条记录

hk=recn(&

将当前记录号赋给变量hk

hk1=str(hk,3&

将变量hk值的前三位,由数值转换为字符串赋给c1=.t.&

将逻辑型变量“真”赋给变量c1

dowhilec1&

当条件成立时计算机做下面的语句

a1=spac(2&

将2个空格赋给变量a1

a2=spac(6&

将6个空格赋给变量a2

a3=spac(2&

将2个空格赋给变量a3

a4=spac(8&

将8个空格赋给变量a4

a5=spac(2&

将2个空格赋给a5

a6=spac(8&

将8个空格赋给a6

a7=spac(30&

将30个空格赋给a7

a8=spac(6&

将6个空格赋给a8

a9=spac(6&

将6个空格赋给a9

a10=spac(50&

将50个空格赋给a10

kk=.t.&

将逻辑型变量“真”赋给变量kk

dowhilekk&

clea&

@1,5say"

输入第"

+hk1+"

张卡片"

在第1行第5列显示输入第"

张卡片的字样,其中,hk1为宏替换

hk=hk+1&

变量hk的值增1

将变量hk的值取3位赋给hk1

@row(+1,5say"

学号:

"

geta1&

在当前行的下一行第5列显示学号字样

@row(,40say"

姓名:

geta2&

在当前行第40列显示姓名字样

性别:

geta3&

在当前行的下一行第5列显示性别字样

出生年月(MM/DD/YY:

geta4&

在当前行的下一行第5列显示出生年月字样

@row(+1,40say"

是否团员:

geta5&

在当前行的下一行第5列显示是否团员字样

电话:

geta6&

在当前行的下一行第5列显示电话字样

通信地址:

geta7&

在当前行的下一行第5列显示通信地址字样

邮编:

geta8&

在当前行的下一行第5列显示邮编字样

总成绩:

geta9&

在当前行第40列显示是否总成绩字样

备注:

geta10&

在当前行的下一行第5列显示备注字样

read&

将键盘所输内容读入内存

y="

y"

将字符y赋给变量y

@12,5say"

输入正确吗?

(Y/N"

gety&

在第12行第5列显示输入正确吗字样

并将输入的y或n读入内存

ify="

Y"

.or.y="

如果变量y值为大写的Y或小写的ykk=.f.&

那么,将逻辑否赋给变量kk

endif&

与if相配对

enddo&

与dowhile相配对

appeblan&

添加新记录到空白记录

replace学号witha1,姓名witha2,性别witha3,出生年月withctod(a4,是否团员witha5

replace电话withval(a6,通信地址withval(a7,邮编withval(a8,总成绩witha9,备注witha10&

替换键盘输入的内容到相应的字段中

"

将一空格赋给变量y

clea

@14,5say"

继续输入吗?

(y/n"

在第14行第5列显示继续输入吗字样

并将输入的y或n读入内存ify="

N"

n"

如果变量y值为大写的N或小写的n

kk=.f.&

exit&

退出输入界面

与if相配对

\main&

运行A:

\main.prg主程序(2、修改模块子程序(A:

\modify.prg

提供卡片式的修改数据的功能。

setdelimiteroff

打开数据库文件A:

\xj.dbf

kk=.t.

dowhilekk

clear

gotop

yy=space(2

@4,20say"

请输入学号"

getyy

read

locaallfor学号=yy

ifeof(

@5,5say"

wait"

该记录不存在!

请按任意键返回!

@6,5say"

继续修改吗?

gety

loop

endi

\main

retu

@row(+1,1say"

get学号

get姓名

get性别

@row(+1,1say"

出生年月:

get出生年月

@row(,60say"

get是否团员

get电话

@row(+1,25say"

get通信地址

@row(,25say"

get邮编

get总成绩

备注(双击文本框输入内容:

get备注

@9,15say"

修改正确吗?

kk=.f.

else

enddo

@5,15say"

endif

(3、查询模块子程序(A:

\search.prg

提供按学号检索、按姓名检索、按学号和姓名检索和按学号、姓名、性别检索三个子模块的查询数据功能。

表单上的按钮功能包括:

输入查询条件、查询、显示查询条件、清除查询条件、打印预览、打印和放弃。

起初,除输入查询条件、显示查询条件和放弃外按钮均是不能选择的。

当单击“输入查询条件”按钮时,表单元上的字段均为空,用户可以输入任意知道的条件做为查询条件,这些条件均是“与”的关系。

这时,按钮也可以被选择了,若单击查询,查询结果就显示在表单的逐条浏览页上,同时,在该页上还显示了共查询到几条记录及可用移动记录按钮逐条查看记录。

显示查询条件按钮可以查看本次查询输入的条件;

清除查询条件按钮可以清除本次查询的条件以备下一次查询;

打印按钮将本次查询结果输出到打印机;

放弃按钮则放弃本次查询并释放本表单元。

为了方便查看,还可以在表单的浏览佤页中一次查看到全部查询到的记录;

并能在浏览字段设定页中设定佤浏览时该字段的显示与否。

setsafetyoff&

重建索引时不提示覆盖

\xj

indeon学号toa:

\xh&

按学号建立索引文件xh.idx

indeon学号+姓名toa:

\xhxm&

按学号和姓名建立索引文件xhxm.idxindeon姓名toa:

\xm&

按姓名建立索引文件xm.idx

stor.t.toc

dowhilec

text

检索功能表

0---退出检索系统

1---按学号检索

2---按姓名检索

3---按学号和姓名检索

4---按学号、姓名、性别检索

endt

dd=1

@row(+1,17say"

请输入功能号"

getddpict"

9"

rang0,4

docase

casedd=0

casedd=1

n1=spac(2

getn1

\xjindea:

打开数据库文件xj.dbf并打开按学号建立的索引文件xh.idx

find&

n1&

查找字符串n1,&

为宏替换

casedd=2

Clear

n2=spac(6

@4,10say"

请输入姓名"

getn2

\xm

n2

casedd=3

@5,10say"

\xhxm

n4=n1+n2

n4

casedd=4

n3=spac(2

@3,10say"

请输入学号:

getn3

locafor学号=n1.and.姓名=n2.and.性别=n3&

查找条件是学号为n1并且姓名为n2并且性别为n3的记录

other

Endc

ifeof(&

如果已到文件尾

wait'

对不起!

没找到。

cc=.t.

dowhilecc

setdevitoscre&

设置屏幕显示字符

@row(,5say"

+学号

+姓名

+性别

+dtoc(出生年月

+是否团员

+电话

+通信地址

+邮编

+总成绩

+备注

@20,20say"

不继续查找打N,否则打任一键"

stor.f.tocc

Endif

if.not.eof(

Enddo

stor.f.toc

use

(4、统计模块子程序(A:

\total.prg

提供统计人数、平均成绩和党员人数的功能。

dd=0

统计功能表

0---退出统计系统

1---统计人数

2---统计平均成绩

3---统计党员人数

rang0,3

countoaa&

计算记录数并把值赋给aa

总人数:

?

aa&

显示变量aa的值

a='

@7,20say"

按任意键返回!

ifa='

aver总成绩toaa&

对总成绩求平均并把平均值分别赋给变量aa@4,20say"

求总成绩平均成绩为:

aa

@9,20say"

readifa='

loopendicasedd=3clearcounfor是否团员="

是"

toaa&

统计党员数,并把值赋给aa@4,20say"

团员人数为:

?

aaa='

loopendiendcreturnendd5,显示模块子程序(A:

\dp.prg功能:

提供卡片式的显示记录的功能.源程序:

settalkoffsetdevitoscreusea:

\xjkk=.t.dowhilekkcleahk=recn(hk1=str(hk,3@row(,5say"

您现在浏览的是第"

@row(+1,5say"

+学号@row(+1,5say"

+姓名@row(+1,5say"

+性别@row(+1,5say"

+dtoc(出生年月@row(,40say"

+是否团员@row(+1,5say"

+电话@row(+1,40say"

+通信地址@row(+1,5say"

+邮编@row(+1,5say"

+总成绩@row(+1,5say"

+备注wait'

请按n键浏览下一条记录,按l键浏览上一条记录,按y键返回主程序!

tokdocase

n'

ifeof(&

如果已到文件尾gotop&

将文件记录指针移到文件记录的首记录elseskip&

否则,跳到下一条记录endihk=hk+1casek='

l'

ifbof(&

如果已到文件开头gobott&

将文件记录指针移到文件记录的最后一条记录elseskip-1&

否则,跳到上一条记录endihk=hk-1casek='

y'

cleardoa:

\mainkk=.f.endcendd6,删除模块子程序(A:

\del.prg功能:

提供逻辑与物理删除的功能.源程序:

\xjyy="

yn="

de=spac(2clear@4,20say"

请输入要删除记录的学号"

getdereadlocaallfor学号=deifeof(wait"

查无此卡片!

击回车键退出!

\xjretuendiif.not.eof(cleahk=recn(hk1=str(hk,3@row(,5say"

+学号

+电话@row(,40say"

+备注endif@13,20say"

是这个记录吗?

getynreadifyn="

.or.yn="

cleadoa:

\xjr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1