第十五周專案一 用二進位制檔案處理學生成績

2021-07-03 08:34:09 字數 1766 閱讀 6389

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

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

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

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

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

解決**:

#include #include#include#includeusing namespace std;

//(一)定義學生類

class student

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

void set_value(int n,string nam, double c, double m, double e);

string get_name()

double get_cpp()

double get_math()

double get_english()

double get_total()

void set_cpp(double c)

void set_math(double m)

void set_english(double e)

void set_total(double t)

friend ostream& operator<

private:

int num;

string name;

double cpp;

double math;

double english;

double total;

};void student::set_value(int n,string nam, double c, double m, double e)

ostream& operator<

infile.close();

//(三)將所有資料儲存到乙個二進位制檔案binary_score.dat中

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();

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

student s;

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

if(!infile2)

{cerr<

二進位制檔案檢視:

第十五周上機專案1 用二進位制檔案處理學生成績

專案1 用二進位制檔案處理學生成績 1 定義學生類,其中包含學號 姓名 c 課 高數和英語成績及總分資料成員,成員函式根據需要確定。2 讀入學生的成績,並求出總分,用物件陣列進行儲存。ascii檔案score.dat中儲存的是100名學生的學號 姓名和c 課 高數和英語成績。3 將所有資料儲存到乙個...

第十五周 專案二 二進位制檔案瀏覽器

問題及 檔名稱 one.cpp 作 者 吳勝男 完成日期 2015年6月21日 版 本 號 v1.0 問題描述 做乙個類似binaryviewer的檢視二進位制檔案的程式,輸入檔名後,可以以16進製制和ascii對照的方式列出該檔案的內容 輸入描述 略 程式輸出 略 include include ...

第十五天學習 ASCII碼檔案與二進位制檔案的區別

1 二進位制檔案是按該資料型別在記憶體中的儲存形式儲存的 2 文字檔案則是將該資料型別轉換為可在螢幕上顯示的形式儲存的 1 ascii儲存方式所佔空間較多且所佔空間大小與數值大小有關 1 ascii碼檔案在外存上以ascii碼存放,而在記憶體中的資料都是以二進位制存放,因此當進行檔案讀寫時要進行轉換...