VFP程序设计题汇总

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.程序设计题汇总

1.通过输入学生的学号(字符型)查找学生,若找到该学生,先输出学号与姓名,然后输出“英语”和“计算机实用技术”成绩。若找不到该学生输出“查无该生”。(设表文件“学生信息”满足题目需要)

set talk off

clear

use 学生信息

accept "请输入学生学号:" to xh

locate for 学号==xh

if !eof()

?学号,姓名

list fiel 英语,计算机实用技术 for 学号=xh

else

?"查无该生"

endif

use

2.输入学生成绩,并要求:成绩小于60分时,输出“不及格”;成绩在60~69分之间时,输出“及格”;成绩在70~79之间时,输出“中”;当成绩在80~89之间时,输出“良”;当成绩在90~100之间时,输出“优”。

set talk off

clear

input "请输入成绩: " to cj

do case

case cj>=90

?"优秀"

case cj >=80

?"良好"

case cj >=70

?"中"

case cj >=60

?"及格"

case cj<60

?"不及格"

otherwise

?"数据有误"

endcase

set talk on

3.按学号在“学生信息.dbf”文件中查找并显示指定的记录。要求可以重复查询,找到则显示该生的记录,找不到则提示“查无此人!”,按非“Y”、“y”可结束查询。

SET TALK OFF

CLEAR

USE 学生信息 &&设当前目录下表文件存在

ACCEPT '学号查询吗(Y/N)?' TO cx &&循环条件的初始化

DO WHILE cx='Y'.OR.cx='y' &&大小写均可执行查询

CLEAR

ACCEPT '请输入学号:' TO xh

LOCATE ALL FOR 学号=xh &&此处ALL可以缺省,默认为在全部记录查找。 IF EOF()

?'查无此人!'

WAIT

ELSE

DISPLAY

ENDIF

ACCEPT '继续按学号查询吗(Y/N)?' TO cx &&修改循环条件

ENDDO

SET TALK ON

USE

4.逐条显示“学生信息.dbf”文件中“英语成绩”大于等于75的记录。

方法一:

SET TALK OFF

CLEAR

USE 学生信息

DO WHILE !EOF()

IF 英语成绩>=75

DISP

ENDIF

SKIP &&按默认值1向下移动记录指针

ENDDO

USE

SET TALK ON

方法二:

SET TALK OFF

CLEAR

USE 学生信息

locate for 英语成绩>=75

DO WHILE !EOF()

display

continue

ENDDO

USE

SET TALK ON

5.分别用DO循环和FOR循环求1+2+3+……+36的和值。用DO循环的写法:

SET TALK OFF

CLEAR

S=0

N=1

DO WHILE N<=36

S=S+N

N=N+1

ENDDO

? " 1+2+3+……+36的值为:", S

SET TALK ON

用FOR循环的写法:

SET TALK OFF

CLEAR

S=0

FOR N=1 TO 36

S=S+N

ENDFOR

? " 1+2+3+……+36的和值:", S

SET TALK ON

6.用“SCAN…ENDSCAN循环结构”显示“学生信息.dbf”文件中“英语成绩”大于等于75的记录。

SET TALK OFF

CLEAR

USE 学生信息

SCAN FOR 英语成绩>=75

DISPLAY

ENDSCAN

USE

SET TALK ON

7.求当1!+3!+5!+…+n!的值不超过10的20次幂时的临界值及n的值。

SET TALK OFF

CLEAR

S=1 &&初始化存放累加和的变量S为1

STORE 1 TO T,N &&初始化变量T,N的值为1

DO WHILE S<=1E+20

T=T*(N+1)*(N+2) &&从第二项开始,计算每一项阶乘。

S=S+T &&追加每一项阶乘

N=N+2 &&下一个奇数

ENDDO

?"S=",S-T &&最后一个S由于是多加了一个T后不满足条件,故减去。

?"N=",N-2 &&最后一个N由于是多加了一个2后不满足条件,故减去。

SET TALK ON

8.在程序所在的目录中已有学生表(学生.Dbf)(字段为:学号,姓名,性别,出生年月,简历,奖学金,照片)。要求:显示输出“学生”表中的1975年或以前出生的学生姓名和出生年月。

SET TALK OFF

CLEAR

USE 学生

LOCATE FOR 出生年月<={^1975-12-31} &&定位满足出生年月的记录

DO WHILE !EOF() &&如果没有到表尾,显示姓名与出生年月

?姓名,出生年月

CONTINUE &&继续指向满足条件的下一条记录

ENDDO

USE

SET TALK ON

相关文档
最新文档