foxpro如何按科目循环操作呢
在下面代码中,仅仅操作了语文科目,如何循环操作数学、英语等其他科目呢?CLOSEallSETTALKOFFCLEARUSE七年级成绩INDEXon语文TOyw.idxGO...
在下面代码中,仅仅操作了语文科目,如何循环操作数学、英语等其他科目呢?
CLOSE all
SET TALK OFF
CLEAR
USE 七年级成绩
INDEX on 语文 TO yw.idx
GO top
a=0
b=0
c=0
d=0
DO WHILE !EOF()
DO CASE
CASE 语文>=90
a=a+1
CASE 语文>=80 and 语文<89
b=b+1
CASE 语文>=70 and 语文<79
c=c+1
CASE 语文>=60 and 语文<69
b=d+1
endcase
skip
enddo
?a,b,c,d
set talk on
CLOSE all 展开
CLOSE all
SET TALK OFF
CLEAR
USE 七年级成绩
INDEX on 语文 TO yw.idx
GO top
a=0
b=0
c=0
d=0
DO WHILE !EOF()
DO CASE
CASE 语文>=90
a=a+1
CASE 语文>=80 and 语文<89
b=b+1
CASE 语文>=70 and 语文<79
c=c+1
CASE 语文>=60 and 语文<69
b=d+1
endcase
skip
enddo
?a,b,c,d
set talk on
CLOSE all 展开
2个回答
展开全部
CLOSE DATABASES
clear
************************
DIMENSION km(9)
STORE '语文' TO km(1)
STORE "数学" TO km(2)
STORE "英语" TO km(3)
STORE "政治" TO km(4)
STORE "历史" TO km(5)
STORE "地理" TO km(6)
STORE "生物" TO km(7)
************************
USE 七年级成绩
FOR i=1 TO 7
INDEX on km(i) TO yw.idx
GO top
a=0
b=0
c=0
d=0
DO WHILE !EOF()
DO CASE
CASE &km(i)>=90
a=a+1
CASE &km(i)>=80 and &km(i)<89
b=b+1
CASE &km(i)>=70 and &km(i)<79
c=c+1
CASE &km(i)>=60 and &km(i)<69
b=d+1
endcase
skip
enddo
?a,b,c,d
next
CLOSE DATABASES
clear
************************
DIMENSION km(9)
STORE '语文' TO km(1)
STORE "数学" TO km(2)
STORE "英语" TO km(3)
STORE "政治" TO km(4)
STORE "历史" TO km(5)
STORE "地理" TO km(6)
STORE "生物" TO km(7)
************************
USE 七年级成绩
FOR i=1 TO 7
INDEX on km(i) TO yw.idx
GO top
a=0
b=0
c=0
d=0
DO WHILE !EOF()
DO CASE
CASE &km(i)>=90
a=a+1
CASE &km(i)>=80 and &km(i)<89
b=b+1
CASE &km(i)>=70 and &km(i)<79
c=c+1
CASE &km(i)>=60 and &km(i)<69
b=d+1
endcase
skip
enddo
?a,b,c,d
next
CLOSE DATABASES
展开全部
如果是锻练语句修改成:
CLOSE all
SET TALK OFF
CLEAR
USE 七年级成绩
INDEX on 语文 TO yw.idx
GO top
yw_a=0
yw_b=0
yw_c=0
yw_d=0
SX_a=0
SX_b=0
SX_c=0
SX_d=0
YY_a=0
YY_b=0
YY_c=0
YY_d=0
DO WHILE !EOF()
DO CASE
CASE 语文>=90
YW_a=YW_a+1
CASE 语文>=80 and 语文<89
YW_b=YW_b+1
CASE 语文>=70 and 语文<79
YW_c=YW_c+1
CASE 语文>=60 and 语文<69
YW_b=YW_d+1
endcase
DO CASE
CASE 数学>=90
SX_a=SX_a+1
CASE 数学>=80 and 数学<89
SX_b=SX_b+1
CASE 数学>=70 and 数学<79
SX_c=SX_c+1
CASE 数学>=60 and 数学<69
SX_b=SX_d+1
endcase
DO CASE
CASE 英语>=90
YY_a=YY_a+1
CASE 英语>=80 and 英语<89
YY_b=YY_b+1
CASE 英语>=70 and 英语<79
YY_c=YY_c+1
CASE 英语>=60 and 英语<69
YY_b=YY_d+1
endcase
skip
enddo
?'语文',YW_a,YW_b,YW_c,YW_d
?'数学',SX_a,SX_b,SX_c,SX_d
?'英语',YY_a,YY_b,YY_c,YY_d
set talk on
CLOSE all
CLOSE all
SET TALK OFF
CLEAR
USE 七年级成绩
INDEX on 语文 TO yw.idx
GO top
yw_a=0
yw_b=0
yw_c=0
yw_d=0
SX_a=0
SX_b=0
SX_c=0
SX_d=0
YY_a=0
YY_b=0
YY_c=0
YY_d=0
DO WHILE !EOF()
DO CASE
CASE 语文>=90
YW_a=YW_a+1
CASE 语文>=80 and 语文<89
YW_b=YW_b+1
CASE 语文>=70 and 语文<79
YW_c=YW_c+1
CASE 语文>=60 and 语文<69
YW_b=YW_d+1
endcase
DO CASE
CASE 数学>=90
SX_a=SX_a+1
CASE 数学>=80 and 数学<89
SX_b=SX_b+1
CASE 数学>=70 and 数学<79
SX_c=SX_c+1
CASE 数学>=60 and 数学<69
SX_b=SX_d+1
endcase
DO CASE
CASE 英语>=90
YY_a=YY_a+1
CASE 英语>=80 and 英语<89
YY_b=YY_b+1
CASE 英语>=70 and 英语<79
YY_c=YY_c+1
CASE 英语>=60 and 英语<69
YY_b=YY_d+1
endcase
skip
enddo
?'语文',YW_a,YW_b,YW_c,YW_d
?'数学',SX_a,SX_b,SX_c,SX_d
?'英语',YY_a,YY_b,YY_c,YY_d
set talk on
CLOSE all
追问
不想要这样的代码,还是想弄个跟科目有关的循环。
追答
CLOSE all
SET TALK OFF
CLEAR
USE 七年级成绩
GO top
yw_a=0
yw_b=0
yw_c=0
yw_d=0
SX_a=0
SX_b=0
SX_c=0
SX_d=0
YY_a=0
YY_b=0
YY_c=0
YY_d=0
i=1
do whil i=90
a=a+1
CASE KM>=80 and KM=70 and KM=60 and KM<69
d=d+1
endcase
skip
enddo
if i=1
YW_a=a
YW_b=b
YW_c=c
YW_d=d
else
if i=2
SX_a=a
SX_b=b
SX_c=c
SX_d=d
else
YY_a=a
YY_b=b
Yy_c=c
YY_d=d
endif
endif
i=i+1
endd
?'语文',YW_a,YW_b,YW_c,YW_d
?'数学',SX_a,SX_b,SX_c,SX_d
?'英语',YY_a,YY_b,YY_c,YY_d
set talk on
CLOSE all
**注意上述程度没试运行,但基本思路应该是如此的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询