當前位置:成語大全網 - 書法字典 - 用C++編寫學生成績管理系統

用C++編寫學生成績管理系統

之前寫過,目的:學生的成績管理,每個學生包括三個年級。從鍵盤輸入學生信息,包括學號、姓名和三門課程的分數。計算學院的平均分,按照平均分從大到小排列。

另外實現了(1)插入的功能,要求插入後保持成績的排名。。

②刪除功能輸入指定的學號。從學生信息表中刪除,刪除的成績將保持原順序!

// -

#包含“stdafx.h“

# include & ltWindows.h & gt

# include & ltvector & gt

# include & lt字符串& gt

# include & ltiostream & gt

# include & lt算法& gt

使用STD::CIN;

使用STD::cout;

班級管理學生

{

公共:

BOOL InputOneStudent();

BOOL DelOneStudent();

void showall student();

私人:

void sort data();

結構信息

{

std::字符串名稱;//名稱

INT iStudentID//學生編號

INT ilesson 1;//結果

INT iLesson2

INT iLesson3

國際旅行;//平均分數

info(){ }

信息(INT iID)

:iStudentID(iID)

{

}

//判斷相等用於find_if()

布爾運算符();數據)常數

{

返回此-& gt;iStudentID = = data.iStudentID

}

//使用相等判斷從最大到最小排序()。

布爾運算符();數據1,常量信息和。數據2)常數

{

返回數據1 . iver age & gt;data 2 . I verage;

}

} oneInfo

std::vector<信息& gtvStudent

};

BOOL cmanagement student::inputone student()

{

cout & lt& lt”請輸入您的學號並取消輸入-1 \ n”;

CIN & gt;& gtoneInfo.iStudentID

if(oneinfo . istudentid = =-1)

返回FALSE

if(find _ if(vstudent . begin()、vStudent.end()、oneInfo)!= vStudent.end())

{

cout & lt& lt“學生證已經存在!\ n“;

返回FALSE

}

cout & lt& lt”請輸入壹個名稱並取消輸入退出\ n”;

CIN & gt;& gtoneInfo.name

if(oneinfo . name = =“exit“)

返回FALSE

cout & lt& lt“請輸入1課程的分數,並退出輸入-1 \ n”;

CIN & gt;& gtoneinfo . iles son 1;

if(oneinfo . iles son 1 = =-1)

返回FALSE

cout & lt& lt請輸入第二門課的分數,不要輸入-1 \ n;

CIN & gt;& gtoneinfo . iles son 2;

if(oneinfo . iles son 2 = =-1)

返回FALSE

cout & lt& lt“請輸入第三門課的分數,退出輸入-1 \ n”;

CIN & gt;& gtoneinfo . iles son 3;

if(oneinfo . iles son 3 = =-1)

返回FALSE

oneinfo . I verage =(oneinfo . iles son 1+oneinfo . iles son 2+oneinfo . iles son 3)/3;

vstudent . push _ back(oneInfo);

sort data();//插入壹條數據後,需要排序,但不能刪除。

返回TRUE

}

void cmanagement student::sort data()

{

sort(vstudent . begin()、vStudent.end()、cmanagement student::Info());

}

void cmanagement student::showall student()

{

for(STD::vector & lt;信息& gt*叠代器it = vstudent . begin();vStudent.end()!= it++it)

{

cout & lt& lt“學生姓名:“

& lt& lt“學生編號:“

& lt& lt“中國成就:“

& lt& lt“數學成績:“

& lt& lt“英語成績:“《& lt它-& gt;iLesson3

& lt& lt“平均成績:“

& lt& ltSTD::endl;

}

}

BOOL CManageStudent::DelOneStudent()

{

cout & lt& lt”請輸入您的學號並取消輸入-1 \ n”;

CIN & gt;& gtoneInfo.iStudentID

if(oneinfo . istudentid = =-1)

返回FALSE

std::vector<信息& gt*叠代器it = find _ if(vstudent . begin()、vStudent.end()、oneInfo);

if(it = = vstudent . end())

{

cout & lt& lt“學生證不存在!”;

返回FALSE

}

vstudent . erase(it);

返回TRUE

}

void main()

{

int stop = 0;

cmanagementstudent rMS;

while(真)

{

cout & lt& lt“退出輸入0\n“

& lt& lt“輸入新信息並輸入1\n“

& lt& lt“刪除信息輸入2\n“

& lt& lt”顯示信息輸入3 \ n”;

CIN & gt;& gt停止;

開關(停止)

{

案例0:

返回;

案例1:

rMS。inputone student();

打破;

案例二:

rMS。DelOneStudent();

打破;

案例三:

rMS。showall student();

打破;

默認值:

打破;

}

}

}

STL是用標準c++模板庫做的,裏面的內容還是很有用的。最好能增加壹個顯示所有信息的功能~