1樓:高原狼人
#include"iostream"
using namespace std;
class student
public:
student(int=1001,float=80); 宣告建構函式。
int number;
float score;
student::student(int n,float s):number(n),score(s)
定義建構函式。
void max( student *y) /函式max,用指向物件的指標作函式引數"這樣才對吧,不然怎麼做5個成績的比較呢。
float t;
int k;
for(int i=0;i<4;i++)
for(int j=0;j<4-i;j++)
if((y+i)->score>(y+i+1)->score) /把所有資料都來交換,目的是讓stud[4]存放最大分數。
t=(y+i)->score; /交換分數。
y+i)->score=(y+i+1)->score;
y+i+1)->score=t;
k=(y+i)->number; /交換學號。
y+i)->number=(y+i+1)->number;
y+i+1)->number=k;
cout<<"成績最高者 "score 《學號 "number student stud[5]=;
max( stud);
return 0;
2樓:網友
首先乙個嚴重的錯誤:
float student::max(float *y)y=score;
return score;
指標y未初始化,這是很危險的。
其次,max函式要求是指向物件的指標,你這裡把他設計成了成員函式,顯然不符合要求,也不能正常工作。
修改方案:1.修改類定義,取消max成員函式。
2.定義函式。
student * max(student * pstu, int total)
float temp=stud[0].score;
int id=0;
for(int i=0;iscore>temp)temp=pstu->score;
id=i;pstu++;
3.在main中增加:
student * phighest=max(stud,5);
cout c++指標問題? 3樓:中雋 <>《我用的是vc++平臺,情況去年執行截圖。第二次輸出的值不是666,delete語句顯然起作用了。 4樓:匿名使用者 delete p; 後,申請的記憶體空間已經被釋放(可以再被其它申請), 但是p內依然儲存該空間的位址, 一般在delete p;後應再加上 p=null; 5樓:艾潤堂健康養生 說句神經病,什麼對於我們956溝通就不對,神經病,是神經上有什麼問題,在中醫來說就是。 1 int 32 long 32 float 32 double 64 int 32 char 32 2 合法,a 11 62 3 有問題,輸出的應該是亂碼 4struct abc struct abc a struct abc d a.a 123 a.b 123 a.c 1.23 5 int se... 假設你的資料在a列.在b1輸入rand 然後下拉公式.然後ab作為一個區域來排序 按b列來排序 然後再刪除b列就可以了.我的最簡單聽我的 在序列 1 2 3 4 5 6 的右邊的一列中輸入漢字 乙 甲 然後將其拖放到等長時再同時選擇兩列再選擇升序按鈕就可以了,如果不行就單擊 資料 選單,找到 排序 ... 刷圖pk都強勢的當然選魔道,而且又是平民職業,操作簡單。大槍比較吃裝備。你說的缺藍問題,任何職業單刷都或多或少會缺藍的,但是沒有你說的那麼嚴重,其實還可以的。我60級的魔道,我沒覺得怎麼缺藍。魔道可以用遠古魔法書來加藍啊魔道偏向於pk 刷圖還是魔道好一 女大槍刷圖是很不錯 攻擊比男大槍高了幾乎一倍。...c語言題目,高手幫哈忙
關於EXCEL替換的問題,急高手幫下忙
DNF高手進來,幫下忙,急!線上的高手進來幫下忙,謝謝