資源簡介
學生成績管理系統設計”
A.問題描述
學生信息包括:學號、姓名、性別、年齡、班級等信息。
小學生除了包括學生所有信息外,還包括英語、數學和語文成績。
中學生除了包括小學生所有信息外,還包括地理、歷史成績。
大學生除了包括學生所有信息外,還包括專業、英語、程序設計和高等數學等課程。
設計一程序能夠對學生成績進行管理,應用到繼承、抽象類、虛函數、虛基類、多態和文件的輸入/輸出等內容。
B.功能要求
(1)添加功能:程序能夠添加不同學生的記錄,提供選擇界面供用戶選擇所要添加的類別,要求學號要唯一,如果添加了重復學號的記錄時,則提示數據添加重復并取消添加。
(2)查詢功能:可根據學號、姓名等信息對已添加的學生記錄進行查詢,如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息。
(3)顯示功能:可顯示當前系統中所有學生的記錄,每條記錄占據一行。
(4)編輯功能:可根據查詢結果對相應的記錄進行修改,修改時注意學號的唯一性。
(5)刪除功能:主要實現對已添加的學生記錄進行刪除。如果當前系統中沒有相應的記錄,則提示“記錄為空!”并返回操作。
(6)統計功能:能根據多種參數進行統計。能統計學生人數、總分、單科的平均分等。
(7)保存功能:可將當前系統中各類記錄存入文件中,存入方式任意。
(8)讀取功能:可將保存在文件中的信息讀入到當前系統中,供用戶進行使用。
(9)排序功能:可按總分和單科成績排名次。

代碼片段和文件信息
#include
#include
#include
#include
#include
#include?
const?int?TMAX=50;
using?namespace?std;
class?Student??//對于基類的定義
{
public:
int?num;??//公用數據成員用于記錄類成員的編號
string?name;//公用數據成員用于記錄類成員的姓名
string?sex;//公用數據成員用于記錄類成員的性別?
string?clas;//公用數據成員用于記錄類成員的班級?
int?age;//公用數據成員用于記錄類成員的年齡?
public:
Student(int?n=0string?nm=““string?s=““string??cl=““int?a=0):num(n)name(nm)sex(s)age(a)clas(cl){};
virtual?void?Input(){};
virtual?void?Output(){};
int?GetNum(){return?num;}//公有數據成員函數用于獲得成員編號
string?GetName(){return?name;}//公有數據成員函數用于獲得成員姓名
};
class?Pupil:public?Student//對小學生派生類的定義
{
public:
float?Chinese;//公有數據成員用于記錄小學生的語文成績
float?Math;//公有數據成員用于記錄類成員的數學成績
float?English;//英語成績?
float?Sum;//總分?
float?Adv;//平均分?
int?choice2;//公有數據成員用于選擇類成員的性別
public:
Pupil(int?n=0string?nm=““string?s=“男“string??cl=““int?a=0float?l=0.0float?z=0.0float?e=0.0float?c=0.0float?d=0.0)
:Student(nnmscla)Chinese(l)Math(z)English(e)Sum(c)Adv(d){};
????void?Input()//成員函數用于輸入成員信息
{
cout<<“請輸入學號“< cin>>num;
cout<<“請輸入姓名“< cin>>name;
cout<<“請輸入性別“;
cout<<“(1.男??2.女)“< cout<<“請輸入你的選擇“< cin>>choice2;
switch(choice2)
{
case?1:sex=“男“;break;
case?2:sex=“女“;break;
default:cout<<“輸入錯誤。“< }
cout<<“請輸入年齡“< cin>>age;
cout<<“請輸入班級“< cin>>clas;
????????cout<<“請輸入語文成績“< cin>>Chinese;
????????cout<<“請輸入數學成績“< cin>>Math;
cout<<“請輸入英語成績“< cin>>English;
Sum=Math+English+Chinese;
Adv=Sum/3;
}
void?Output()//成員函數用于輸出成員信息
{
cout< < < < < < < < < < < }
};
class?Middle:virtual?public?Student//對于中學生派生類的定義
{
public:
float?Chinese;//公有數據成員用于記錄中學生的語文成績
float?Math;//公有數據成員用于記錄類成員的數學成績
float?geography;//公有數據成員用于記錄類成員的地理成績
float?history;//公有數據成員用于記錄類成員的歷史成績
float?English;//公有數據成員用于記錄類成員的英語成績
float?Sum;//公有數據成員用于記錄類成員的成績總分?
float?Adv;//公有數據成員用于記錄類成員的成績平均分?
????int?choice2;//公有數據成員用于選擇類成員的性別
public:
Middle(int?n=0string?nm=““string?s=“男“string??cl=““int?a=0float?ge=0.0float?hi=0.0float?ad=0.0float?l=0.0float?z=0.0float?c=0.0float?d=0.0)
:Student(nnmscla)geography(ge)history(hi)English(ad)Chinese(l)Math(z)Sum(c)Adv(d){};
void?Input()//成員函數用于輸入成員信息
{
cout<<“請輸入學號“< cin>>num;
cout<<“請輸入姓名“< cin>>name;
cout<<“請輸入性別“;
cout<<“(1.男??2.女)“< cout<<“請輸入你的選擇“< cin>>choice2;
switch(choice2)
{
case?1:sex=“男“;break;
case?2:sex=“女“;break;
default:cout<<“輸入錯誤。“< }
cout<<“請輸入年齡“< cin>>age;
cout<<“請輸入班級“< cin>>clas;
cout<<“請輸入語文成績“< cin>>Chinese;
????????cout<<“請輸入數學成績“< cin>>Math;
cout<<“請輸
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????33581??2018-12-27?10:32??學生成績管理系統.cpp
-----------?---------??----------?-----??----
????????????????33581????????????????????1
- 上一篇:通訊錄管理系統 源代碼.rar
- 下一篇:華為語言安全編程規范_V3.1.pdf
評論
共有 條評論