一、需求分析
1、某學校有本科生和研究生兩類學生。
a. 本科生資訊:學號
、姓名、性別、
專業、年級、
班級、高數
成績、英語成績、
c語言、
總成績、班級排名、年級排名
。其中:學號
、姓名、性別、
專業、年級、
班級、高數
成績、英語成績、
c語言成績
為輸入項,總成績是計算項,班級排名是總成績在班內名次,
年級排名是總成績在同專業、同年級內名次。
b. 研究生資訊:學號
、姓名、性別、
專業、年級、
班級、課程綜合成績
、**成績
、總成績
、班級排名、年級排名
。其中:學號
、姓名、性別、
專業、年級、
班級、課程綜合成績
、**成績為輸入項,總成績是計算項,班級排名是總成績在班內名次,
年級排名是總成績在同專業、同年級內名次。
說明:成績基本資訊:科目門數、科目成績(動態陣列或指標)。專業基本資訊:專業編號、專業名稱,學生必須歸屬於某個專業,學生與專業通過「專業編號」關聯起來。班級基本資訊:班級編號、班級名稱、班級人數、專業編號,學生必須歸屬於某個班級,學生與班級通過「班級編號」關聯起來,班級與專業通過「專業編號」關聯起來。
2、學生總成績計算方法。
a.本科生:總成績=高數成績+
英語成績
+c語言成績;
b.研究生:總成績=課程綜合成績+**成績;
請使用物件導向程式設計方法,
開發乙個
學生成績
管理系統對學生成績
進行有效管理。
二、系統的
功能要求
1. 專業管理:包括專業基本資訊的新增、修改、刪除、查詢功能。學生必須歸屬於某個專業。
2. 班級管理:包括班級基本資訊的新增、修改、刪除、查詢功能。學生必須歸屬於某個班級。
3. 新增功能:分本科生和研究生兩類人員,實現下列新增功能。
a.本科生:能夠
新增學生資訊
,如果高數
成績、英語成績、
c語言成績
都輸入,則系統自動計算總成績。
b.研究生:能夠
新增學生資訊
,如果課程綜合成績
、**成績都
輸入,則系統自動計算總成績。
4. 修改功能
:分本科生和研究生兩類人員,實現下列修改功能。
a.本科生:根據學號來
修改任意學生的
除學號外的資訊。如果
高數成績、英語成績、c語言成績
都存在,則系統自動計算總成績。
b.研究生:根據學號來
修改任意學生的
除學號外的資訊。如果
課程綜合成績
、**成績都存在
,則系統自動計算總成績
5. 刪除功能
:分本科生和研究生兩類人員,能夠
根據學號
刪除乙個學生。
6. 排名功能:分本科生和研究生兩類人員,實現下列排名功能。
說明:排名包括班級排名和年級排名,排名規則按體育競賽規則處理,若出現兩個並列第1名,下個名次為第3名,依此類推。
a:班級排名:分本科生和研究生兩類學生,計算每個學生總成績在班級中的名次。
b:年級排名:分本科生和研究生兩類學生,計算每個學生總成績在本專業、本年級中的名次。
7. 查詢功能:分本科生和研究生兩類人員,實現下列查詢功能。
1) 能夠按班級顯示本班
全部學生資訊。
2) 能夠根據
學號或者
姓名查詢
學生資訊。
3) 能夠在某個
班級中查詢某門課成績不及格
學生資訊。
8. 排序功能:分本科生和研究生兩類人員,實現下列排序功能。
1) 所有學生
資訊按學號
從低到高排序並
顯示。
2) 某個班學生
資訊按總成績
從高到低排序並
顯示。
9. 統計功能:分本科生和研究生兩類人員,實現下列統計與顯示功能。
1) 統計某班級某課程的平均成績、最高成績、最低成績。如果
學生該門課沒有成績,統計
平均成績時
忽略該生。
2) 統計某班級某課程超過課程平均成績的學生名單及人數。
3) 統計某班級某課程不及格學生名單及人數。
4) 統計某班
級某課程不同
等級的學生人數。
等級標準:優—
大於等於
90;良
—大於等於
80且小於90;
中:大於等於
70且小於80;
及格:大於等於
60且小於
70;不及格:小於60。
三、系統的實現技術
要求
1.基本要求
(1)
按物件導向方式設計系統所需要的類。建議:成績類、學生類、本科生類、研究生類、專業類、班級類。成績類作為學生類的資料成員,本科生類、研究生類繼承學生類。
專業類與學生類通過「專業編號」繫結(關聯)起來,班級類與學生類通過「班級編號」繫結(關聯)起來,專業類與班級類通過「專業編號」繫結(關聯)起來。年級不再單獨設計類,作為學生類的乙個簡單資料成員。類間關係如下圖所示。
(2)
必須用檔案來儲存
學生資訊:執行程式時,從
相應檔案中讀取
學生資訊、專業資訊、班級資訊到對應容器物件;
退出程式時
,將對應容器中
資訊儲存到
相應檔案
。本科生和研究生分成兩個單獨檔案,專業和班級分兩個檔案存放。
(3)
所有排序演算法可採用stl模板中的sort模板函式實現,對類中容器類資料成員的訪問必須採用迭代器iterator實現。
(4) 其他:
至少有兩層選單。
2.擴充套件要求
(1)
實現按專業、班級進行組織的學生資訊儲存結構,即乙個專業包含多個班級的組織結構。可按專業管理班級。
(2)
實現動態選單功能,
即對專業、班級進行「增、刪、改」等管理操作。
例如:當前專業有「計算機」,則專業管理選單包括「管理計算機專業」,若增加「網路安全」,則相應管理選單應增加「管理網路安全專業」選項。同樣,當前班級有「2006級計算機專業計科1班」,則班級管理選單包括「管理2006級計算機專業計科1班」,若增加「2006級計算機專業計科2班」,則相應管理選單應增加「2006級計算機專業計科1班」選項。
版本)
C C 學生管理系統
使用說明 一 設計之初沒考慮到 已存在檔案進行追加 的功能 有興趣的童鞋可以試試 所以執行程式第一步只能是先選 1 新建乙份表單 標準樣例 名字 三個中文字元,學號 12位數字,性別 男 女,年齡 兩位整數 如下 可以直接複製 名字純粹亂打的哈qaq 王二哈 123123123123 男 28 李邊...
C C 系列之學生管理系統
define crt secure no warnings include include include include define saferealse p using namespace std author ysd time 2012.3.20 history 1.0 editor mic...
C C 專案分享 學生管理系統
c c 專案分享 學生管理系統 乙個簡單的c c 專案 學生管理系統 程式未完全寫完 用鍊錶儲存資訊 有興趣的同學可以自己進行修改 include 自定義資料型別 結構體 學生 學號 姓名性別 年齡班級 成績 typedef struct student student 鍊錶 鍊錶 就像是一列火車,...