| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1819 人关注过本帖
标题:求助!一道编程题,给定课程从键盘输入,直接回车时结束查询
取消只看楼主 加入收藏
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
结帖率:0
收藏
已结贴  问题点数:20 回复次数:12 
求助!一道编程题,给定课程从键盘输入,直接回车时结束查询
设有三个数据表、各字段规定为:学号(c,5)、姓名(c,10)、课程号(c、4)、课程名(c,10)、成绩(N,4.1)。

学生表stu.dbf
学号    姓名
93061    王燕
93062    李丽
93063    詹贵
93064    潘泰
93065    戚莎
92061    张平
92062    赵东

课程表kc.dbf
课程号    课程名
C801    数据结构
C802    多媒体
C803    数据库
C804    C++语言
C805    WEB设计
C806    操作系统
C807    接口技术
C808    程序设计

选课表xk.dbf
学号    课程号    成绩
93061    C808    61
93061    C803    78
93062    C803    90
93062    C804    48
93063    C804    89
93063    C803    65
93064    C806    82
92061    C804    91
93065    C802    70
92062    C805    76

编写程序查找显示指定课程的学生的学号、姓名、该课程成绩、给定课程从键盘输入,直接回车时结束查询。例如,当从键盘输入课程名“数据库”时,显示如下内容:
93061    王燕   78
93062    李丽   90
93063    詹贵   65

求助~~~要交的作业,求大神给出答案。
三个表.zip (1.18 KB)


[ 本帖最后由 talo6060 于 2014-7-5 11:11 编辑 ]
搜索更多相关主题的帖子: 程序设计 课程表 多媒体 数据库 数据表 
2014-07-05 00:54
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
以下是引用sdta在2014-7-5 01:20:21的发言:

自己先写代码,不明白的地方再来论坛求助!



select 1
select 2
use 选课表xk
index on alltrim<课程号> tag
gradeidx
select 3
use 课程表kc
index on alltrim<课程名> tag
coursedx
store""to csname
accept"请输入待查询的课程名:"to csname
go top
seek alltrim<sname>
if eof
  ?"没有该课程!"
  close all
  return
endif
cn=alltrim
use
select 2
go top
seek cn

我自己这样弄的,可是不对。。。。
2014-07-05 09:09
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
以下是引用吹水佬在2014-7-5 10:26:55的发言:

** 用数据关联举个例子
CREATE CURSOR stu (学号 C(5), 姓名 C(10))
INSERT INTO stu VALUES ("93061", "王燕")
INSERT INTO stu VALUES ("93062", "李丽")
INSERT INTO stu VALUES ("93063", "詹贵")
INSERT INTO stu VALUES ("93064", "潘泰")
INSERT INTO stu VALUES ("93065", "戚莎")
INSERT INTO stu VALUES ("92061", "张平")
INSERT INTO stu VALUES ("92062", "赵东")

CREATE CURSOR kc (课程号 C(4), 课程名 C(10))
INSERT INTO kc VALUES ("C801", "数据结构")
INSERT INTO kc VALUES ("C802", "多媒体")
INSERT INTO kc VALUES ("C803", "数据库")
INSERT INTO kc VALUES ("C804", "C++语言")
INSERT INTO kc VALUES ("C805", "WEB设计")
INSERT INTO kc VALUES ("C806", "操作系统")
INSERT INTO kc VALUES ("C807", "接口技术")
INSERT INTO kc VALUES ("C808", "程序设计")

CREATE CURSOR xk (学号 C(5), 课程号 C(4), 成绩 I)
INSERT INTO xk VALUES ("93061", "C808", 61)
INSERT INTO xk VALUES ("93061", "C803", 78)
INSERT INTO xk VALUES ("93062", "C803", 90)
INSERT INTO xk VALUES ("93062", "C804", 48)
INSERT INTO xk VALUES ("93063", "C804", 89)
INSERT INTO xk VALUES ("93063", "C803", 65)
INSERT INTO xk VALUES ("93064", "C806", 82)
INSERT INTO xk VALUES ("92061", "C804", 91)
INSERT INTO xk VALUES ("93065", "C802", 70)
INSERT INTO xk VALUES ("92062", "C805", 76)

SELECT stu
INDEX on 学号 TAG 学号

SELECT kc
INDEX on 课程号 TAG 课程号

SELECT xk
SET RELATION TO 学号 INTO "stu", 课程号 INTO "kc"

m课程名 = INPUTBOX("输入查询课程名")

IF !EMPTY(m课程名)
    **BROWSE FIELDS xk.学号, stu.姓名, xk.成绩 FOR RTRIM(kc.课程名) == "数据库"
    SET FILTER TO RTRIM(kc.课程名) == ALLTRIM(m课程名)
    GO TOP
    BROWSE FIELDS xk.学号, stu.姓名, xk.成绩
    SET FILTER TO
    GO TOP
ENDIF

SET RELATION TO


找不到变量m课程名  怎么回事?
2014-07-05 10:56
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
以下是引用吹水佬在2014-7-5 10:26:55的发言:

** 用数据关联举个例子
CREATE CURSOR stu (学号 C(5), 姓名 C(10))
INSERT INTO stu VALUES ("93061", "王燕")
INSERT INTO stu VALUES ("93062", "李丽")
INSERT INTO stu VALUES ("93063", "詹贵")
INSERT INTO stu VALUES ("93064", "潘泰")
INSERT INTO stu VALUES ("93065", "戚莎")
INSERT INTO stu VALUES ("92061", "张平")
INSERT INTO stu VALUES ("92062", "赵东")

CREATE CURSOR kc (课程号 C(4), 课程名 C(10))
INSERT INTO kc VALUES ("C801", "数据结构")
INSERT INTO kc VALUES ("C802", "多媒体")
INSERT INTO kc VALUES ("C803", "数据库")
INSERT INTO kc VALUES ("C804", "C++语言")
INSERT INTO kc VALUES ("C805", "WEB设计")
INSERT INTO kc VALUES ("C806", "操作系统")
INSERT INTO kc VALUES ("C807", "接口技术")
INSERT INTO kc VALUES ("C808", "程序设计")

CREATE CURSOR xk (学号 C(5), 课程号 C(4), 成绩 I)
INSERT INTO xk VALUES ("93061", "C808", 61)
INSERT INTO xk VALUES ("93061", "C803", 78)
INSERT INTO xk VALUES ("93062", "C803", 90)
INSERT INTO xk VALUES ("93062", "C804", 48)
INSERT INTO xk VALUES ("93063", "C804", 89)
INSERT INTO xk VALUES ("93063", "C803", 65)
INSERT INTO xk VALUES ("93064", "C806", 82)
INSERT INTO xk VALUES ("92061", "C804", 91)
INSERT INTO xk VALUES ("93065", "C802", 70)
INSERT INTO xk VALUES ("92062", "C805", 76)

SELECT stu
INDEX on 学号 TAG 学号

SELECT kc
INDEX on 课程号 TAG 课程号

SELECT xk
SET RELATION TO 学号 INTO "stu", 课程号 INTO "kc"

m课程名 = INPUTBOX("输入查询课程名")

IF !EMPTY(m课程名)
    **BROWSE FIELDS xk.学号, stu.姓名, xk.成绩 FOR RTRIM(kc.课程名) == "数据库"
    SET FILTER TO RTRIM(kc.课程名) == ALLTRIM(m课程名)
    GO TOP
    BROWSE FIELDS xk.学号, stu.姓名, xk.成绩
    SET FILTER TO
    GO TOP
ENDIF

SET RELATION TO


找不到变量m课程名  怎么回事?
2014-07-05 10:56
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
回复 11 楼 TonyDeng
本周末之前交上。。。
2014-07-05 10:56
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
回复 11 楼 TonyDeng
本周末之前交上。。。
2014-07-05 10:56
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
以下是引用sdta在2014-7-5 09:42:01的发言:



上面这段代码要实现的功能是什么

就是输入某一个课程的名字,就能显示这一课程选的人学号 姓名 得分
2014-07-05 10:58
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
回复 16 楼 TonyDeng
不要说了 伤心。

公共选修课的作业,老师讲的乱七八糟 问老师问题她也解答不了。
还要我们交作业。
2014-07-05 11:05
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
回复 20 楼 TonyDeng
表传上了,现在就求大神帮帮忙

我一个学农学的做VF真心搞不来
2014-07-05 11:13
talo6060
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-7-5
收藏
得分:0 
以下是引用sdta在2014-7-5 12:35:35的发言:

楼主用的VFP版本可能是6.0,你的代码经楼主运行后,可能会发生错误。
原代码一行


改为两行

是6.0 真的发生错误了。。。
2014-07-05 16:23
快速回复:求助!一道编程题,给定课程从键盘输入,直接回车时结束查询
数据加载中...
 
   



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

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