基於C C 的學生管理系統

2021-08-21 03:27:11 字數 3479 閱讀 8343

一、需求分析

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 鍊錶 鍊錶 就像是一列火車,...