假定Dataquery类为封装后的数据库结果集对象,调用Dataquery.getData可以返回Data1类型的对象,该对象结构如下:class Data1{String xsxh; //学号String xsxm; //姓名String kcdm; //课程代码float kcxf; //课程学分float kscj; //成绩String kcsx;//课程属性}Dataquery的数据指针只能向前移动,每次调用Dataquery.next()方法都会检查结果集中当前指针指向位置后面是否还有数据,如果有则向前移动指针,指向下一个元素,否则直接返回false。已知Dataquery中的数据已经按照唯一关键字“学号”进行了排序,示例数据:95001 张三 001 2 92 必修95001 张三 002 3 70 选修95002 李四 003 5 88 必修95002 李四 005 3 98 选修因Dataquery结果集非常大,不允许使用数组等结构来缓存结果集全部数据。请编写函数,使用Dataquery为输入参数,计算每个学生的平均成绩(仅成绩不小于60分参与计算),学分和(仅成绩不小于60分,且属性为必修课参与计算),并以下面的格式输出:学号:95001|姓名:张三|平均成绩:78|学分和:80
2 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
如果是要访问整个单链表的话,就直接可以从head->next开始一一遍历;
如果是要访问单链表中某个结点的话,那就设个while循环从头结点开始直到遍历到要访问的结点(比如为q)结束。具体程序如下:x为要访问的结点值(假如是int 型)
p=head;
while(p->next->data!=x)
p=p->next;
if(p)
printf("%d",p->data);
else
printf("not exsit this element!");
GCT1015
TA贡献1827条经验 获得超4个赞
Dataquery既然是对象必然已经进入内存了,否则怎么称为对象,对象是类在内存中的实例化。
如果是个文件的话,就用IO流处理。如果是数据库的输出结果,就用接口函数,用不着缓冲数据。
- 2 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消