國立屏東大學 資訊工程系 物件導向程式設計

作業4


turnin code cpp.2A.hw4(週五上午,二甲) , cpp.2B.hw4(週五下午,二乙)

第1題

  1. 設計一個c++的類別名為Student,並定義於Student.h,其member function的實作則撰寫於Student.cpp,該類別包含有以下的data members:
    1. 姓名(字串,長度含\0不超過20個字)
    2. 學號(字串,10碼)
    3. 作業成績(五次作業,每次成積可具有小數,例如90.5分。另外,我們以-1表示缺交,-2表示抄襲)
    4. 期中考成績(浮點數,-1表示缺考)
    5. 期末考成績(浮點數,-1表示缺考)
    6. 請為Student類別設計一個calculateScore()的member function,計算其學期成績,其計算標準如下
      • 作業成績取五次的平均,缺交與抄襲該次以0分計算,每缺交一次扣作業平均成績5分,每抄襲一次扣學期成績5分。
      • 但作業成績與學期成績最低均為0分。
      • 學期成績=平均作業成績*0.4 + 期中考*0.3 + 期末考*0.3
  1. 設計一個Score.cpp程式,在執行時使用「<」將測試檔「cpp2022.dat」導入10位學生的資料
  2. 依據所取得的資料,動態建立一個的Studnet類別陣列,來儲存所讀入的學生資料(可假設學生人數為10人)
  3. 請依學期成績由高而低輸出學生的姓名、學號與學期成績(當成績相同時則依學號由小到大輸出)
  4. 你可以視需要設計其它的data members或member functions
  5. 你必須提供Makefile,將可執行檔命名為「Score」,並將所有需要的檔案都上傳
[02:16 junwu@ws hw4]$ ./Score < cpp2022.dat
Jun Wu (1114180000) 98.5
Ming-Chung Hu (1094183456) 96.75
Cho-Ming Kuo (1014180999) 92.5
Jin-Shin Ping (1014180023) 88.23
...
[02:16 junwu@ws hw4]$ 

本題所需之檔案,可至ws.csie2.nptu.edu.tw上取得,其所在目錄為/home/stu/public/cpp2022/hw4 。