假定Dataquery類為封裝后的數(shù)據(jù)庫結果集對象,調用Dataquery.getData可以返回Data1類型的對象,該對象結構如下:class Data1{String xsxh; //學號String xsxm; //姓名String kcdm; //課程代碼float kcxf; //課程學分float kscj; //成績String kcsx;//課程屬性}Dataquery的數(shù)據(jù)指針只能向前移動,每次調用Dataquery.next()方法都會檢查結果集中當前指針指向位置后面是否還有數(shù)據(jù),如果有則向前移動指針,指向下一個元素,否則直接返回false。已知Dataquery中的數(shù)據(jù)已經(jīng)按照唯一關鍵字“學號”進行了排序,示例數(shù)據(jù):95001 張三 001 2 92 必修95001 張三 002 3 70 選修95002 李四 003 5 88 必修95002 李四 005 3 98 選修因Dataquery結果集非常大,不允許使用數(shù)組等結構來緩存結果集全部數(shù)據(jù)。請編寫函數(shù),使用Dataquery為輸入?yún)?shù),計算每個學生的平均成績(僅成績不小于60分參與計算),學分和(僅成績不小于60分,且屬性為必修課參與計算),并以下面的格式輸出:學號:95001|姓名:張三|平均成績:78|學分和:80
2 回答

蠱毒傳說
TA貢獻1895條經(jīng)驗 獲得超3個贊
如果是要訪問整個單鏈表的話,就直接可以從head->next開始一一遍歷;
如果是要訪問單鏈表中某個結點的話,那就設個while循環(huán)從頭結點開始直到遍歷到要訪問的結點(比如為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條經(jīng)驗 獲得超4個贊
Dataquery既然是對象必然已經(jīng)進入內(nèi)存了,否則怎么稱為對象,對象是類在內(nèi)存中的實例化。
如果是個文件的話,就用IO流處理。如果是數(shù)據(jù)庫的輸出結果,就用接口函數(shù),用不著緩沖數(shù)據(jù)。
添加回答
舉報
0/150
提交
取消