第15周專案1 用二進位制檔案處理學生成績

2021-07-03 09:57:47 字數 1725 閱讀 6953



【專案1-用二進位制檔案處理學生成績】

(1)定義學生類,其中包含學號、姓名、c++課、高數和英語成績及總分資料成員,成員函式根據需要確定。

(2)讀入學生的成績,並求出總分,用物件陣列進行儲存。ascii檔案score.dat中儲存的是100名學生的學號、姓名和c++課、高數和英語成績。

(3)將所有資料儲存到乙個二進位制檔案binary_score.dat中,最後通過鍵盤輸入你的資訊,並寫入到檔案中(咱不謙虛,三科全100分,期末求好運)。

(4)為驗證輸出檔案正確,再將binary_score.dat中的記錄逐一讀出到學生物件中並輸出檢視。

(5)用binaryviewer命令檢視二進位制檔案檔案 

#include #include #include #include using namespace std;

class student

; student(int nu,string na,double c,double m,double e):num(nu),name(na),cpp(c),math(m),english(e)

void setmation(int nu,string na,double c,double m,double e);

int get_num()

string get_name()

double get_cpp()

double get_math()

double get_english()

double get_total()

void set_num(int n)

void set_name(string na)

void set_cpp(double c)

void set_math(double m)

void set_english(double e)

void set_total(double t)

friend ostream& operator<

};void student::setmation(int nu,string na,double c,double m,double e)

ostream& operator<

infile.close();

ofstream outfile("binary_score.dat",ios::out|ios::binary);

if(!outfile)

{cerr>sname>>scpp>>smath>>senglish;

student me(n,sname,scpp,smath,senglish);

outfile.write((char*)&me,sizeof(me));

outfile.close();

student s;

ifstream infile2("binary_score.dat",ios::in|ios::binary);

if(!infile2)

{cerr<

執行結果:

第15題 二進位制中1的個數

輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。從n的2進製形式的最右邊開始判斷是不是1,該解法如果輸入時負數會陷入死迴圈,因為負數右移時,在最高位補得是1,本題最終目的是求1的個數,那麼會有無數個1了。思想 用1 1自身左移運算,其實後來就不是1了 和n的每位進行位與,來判斷1的...

用 C 讀取二進位制檔案

當想到所有檔案都轉換為 xml時,確實是一件好事。但是,這並非事實。仍舊還有大量的檔案格式不是xml,甚至也不是ascii。二進位制檔案仍然在網路中傳播,儲存在磁碟上,在應用程式之間傳遞。相比之下,在處理這些問題方面,它們比文字檔案顯得更有效率些。在 c 和 c 中,讀取二進位制檔案還是很容易的。除...

用C 讀取二進位制檔案

當想到所有檔案都轉換為 xml時,確實是一件好事。但是,這並非事實。仍舊還有大量的檔案格式不是xml,甚至也不是ascii。二進位制檔案仍然在網路中傳播,儲存在磁碟上,在應用程式之間傳遞。相比之下,在處理這些問題方面,它們比文字檔案顯得更有效率些。在 c 和 c 中,讀取二進位制檔案還是很容易的。除...