| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2126 人关注过本帖
标题:怎么用循环句求平均值(在线等)
只看楼主 加入收藏
kjammekkk
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-19
收藏
 问题点数:0 回复次数:10 
怎么用循环句求平均值(在线等)
学号 姓名 高数 英语 金融市场学
1 q 90 90 90
2 w 60 90 90
3 r 80 90 90
......
10 j 60 90 90
设定表名为cj.dbf,请问如何编程序求每个人三科平均值和10人三个科目总平均值
我是这样编的:
clear
set talk off
use cj
?"学生号","姓名","高数","英语","金融市场学","平均成绩"
pjh=0
scan
grpj=(高数+英语+金融市场学)/3
?" "+str(学生号,2)+姓名+str(高数,5)+str(英语,5)+str(金融市场学,5)+str(grpj,8,1)
pjh=pjh+grpj
endscan
结果只能显示第一个人的,而且用scan语句的时候提示“statement is not allowed in interactive mode"
请各位大虾指点

[此贴子已经被作者于2006-6-20 21:33:51编辑过]

搜索更多相关主题的帖子: 平均值 英语 市场学 str 
2006-06-20 21:33
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
clear
set talk off
use cj
?"学生号","姓名","高数","英语","金融市场学","平均成绩"
go top
do while !eof()
grpj=(高数+英语+金融市场学)/3
?" "+str(学生号,2)+姓名+str(高数,5)+str(英语,5)+str(金融市场学,5)+str(grpj,8,1)
skip
enddo

认真看书学习,弄通Fox主义。
2006-06-20 22:17
kjammekkk
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-19
收藏
得分:0 
我试试看 谢了啊
2006-06-20 22:35
kjammekkk
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-19
收藏
得分:0 
还是不行啊 还是出来“statement is not allowed in interactive mode" 这个东西.interactive mode是什么模式啊 怎么不能用循环语句,出错出在哪里了
2006-06-21 14:20
kjammekkk
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-19
收藏
得分:0 
只能算出第一个人的成绩 其他算不出来
2006-06-21 14:21
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:0 
clear
set talk off
use cj
?"学生号","姓名","高数","英语","金融市场学","平均成绩"
go 1
do while !eof()
grpj=(高数+英语+金融市场学)/3
?" "+str(学生号,2)+姓名+str(高数,5)+str(英语,5)+str(金融市场学,5)+str(grpj,8,1)
skip
enddo
应该没有问题!或者是你的cj.dbf 中定义不对吧?应该定义成数值型的才对!

2006-06-21 15:21
blueblood
Rank: 2
等 级:新手上路
威 望:4
帖 子:135
专家分:0
注 册:2006-4-2
收藏
得分:0 

楼主是在命令窗口运行SCAN语句吧!interactive mode就是指命令窗口模式!
楼主应该去搞清楚命令文件的建立与运行!

2006-06-21 15:42
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
根据楼主出现错误的描述,你的程序不是写在命令文件中执行的,而是写在命令窗口中。所以应该改用MODI COMM命令来写程序

你循环部分没有问题,2楼和6楼的也没有问题,但只做到了计算每个人的三门课程的平均值

要计算每个课程的平均值以及总平均值的话,另外在循环外增加语句
AVERAGE 高数,英语,金融市场学 TO C1,C2,CE
?C1,C2,C3,(C1+C2+C3)/3

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-06-21 16:19
kjammekkk
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-19
收藏
得分:0 
以下是引用blueblood在2006-6-21 15:42:25的发言:

楼主是在命令窗口运行SCAN语句吧!interactive mode就是指命令窗口模式!
楼主应该去搞清楚命令文件的建立与运行!

编程不是在命令窗口编的吗?

我是这样的首先进入vfp,在命令窗口打下如下命令:


create table cj(学生号 n(2),姓名 c(8),高数 n(5,1),英语 n(5,1),金融市场学 n(5,1))
list structure
insert into cj values(1,"李阳",90,90,95)
insert into cj values(2,"杨秀贵",85,90,95)
insert into cj values(3,"王银",85,90,80)
insert into cj values(4,"王小放",70,80,95)
insert into cj values(5,"张文杰",75,80,70)
insert into cj values(6,"汤小花",80,90,85)
insert into cj values(7,"李意",71,80,95)
insert into cj values(8,"刘华",65,78,95)
insert into cj values(9,"何为",79,90,90)
insert into cj values(10,"孙维",70,90,93)
list off

就建立了一个cj.dbf。然后退出了vfp,再直接打开cj.dbf,接着在命令窗口输入第一个贴发的scan的命令,不知道问题出在哪

[此贴子已经被作者于2006-6-21 18:54:45编辑过]

2006-06-21 18:52
kjammekkk
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-19
收藏
得分:0 

什么是命令文件?dbf文件不是命令文件?还有“MODI COMM命令来写程序”是怎么回事?

2006-06-21 19:04
快速回复:怎么用循环句求平均值(在线等)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018083 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved