学生管理系统

#define NUM 2
class Student
{
public:
    void InputStudent();//输入学生信息  
    void OutputStudent();//输出学生信息  
    void DeleteStudent();//删除学生信息  
    void SearchStudent();//查找学生信息  
    void ChangeStudent();//修改学生信息  
    void ScortByMath();//对学生的高数成绩排序  
    void ScortByEnglish();//对学生的英语成绩排序  
    void ScortByTotal();//对学生的总分排序
    ~Student()
    {
        delete(_pSt);
    }
private:
    Student *_pSt;     //学生类指针  
    int _Size;        //学生的人数      
    string _Name;     //姓名  
    int _Age;         //年龄  
    int _No;          //学号  
    float _Score[NUM];  //各科成绩 
    float _Total;     //总分  
    float _Ave;       //平均分
}; 
void Student::InputStudent()  //输入学生的信息 
{  
    int len;//学生的人数  
    cout<<"请输入学生的人数:";  
    cin>>len;  
    _Size = len;  
    _pSt = new Student[_Size];  
    for(int i=0;i<len;++i)  
    {  
        cout<<"请输入第"<<i+1<<"个学生的姓名:";  
        cin>>_pSt[i]._Name;
        cout<<"请输入第"<<i+1<<"个学生的年龄:";  
        cin>>_pSt[i]._Age;  
        cout<<"请输入第"<<i+1<<"个学生的学号:";  
        cin>>_pSt[i]._No;  
        cout<<"请输入第"<<i+1<<"个学生的高数成绩:";  
        cin>>_pSt[i]._Score[0];  
        cout<<"请输入第"<<i+1<<"个学生的英语成绩:";  
        cin>>_pSt[i]._Score[1];  
        _pSt[i]._Total=_pSt[i]._Score[0]+_pSt[i]._Score[1]; 
        _pSt[i]._Ave =_pSt[i]._Total / NUM;
    }
}  
void Student::OutputStudent()  //输出学生的信息
{
    cout<<"姓名   年龄 学号 高数成绩 英语成绩 总分 平均分"<<endl;
    for(int i=0; i<_Size; i++)  
    {
        cout<<_pSt[i]._Name<<"    "<<_pSt[i]._Age<<"    "<<_pSt[i]._No
            <<"    "<<_pSt[i]._Score[0]<<"    "<<_pSt[i]._Score[1]<<"    "
            <<_pSt[i]._Total<<"    "<<_pSt[i]._Ave<<endl;
    }  
} 
void Student::DeleteStudent()//删除学生信息 
{
    string str;
    cout<<"请输入需要删除学生的姓名:"<<endl;
    cin>>str;
    int num;
    for(int i=0;i<_Size;++i)
    {
        if(str==_pSt[i]._Name)
        {
            num=i;//记录要删除的学生
        }
    }
    for(int j=num+1;j<_Size;++j)
    {
        _pSt[j-1]=_pSt[j];//后面的向前移
    }
    _Size--;//有效学生个数对应减少
}
void Student::SearchStudent()//查找学生信息
{
    string str;
    cout<<"请输入需要查找学生的姓名:"<<endl;
    cin>>str;
    int i;
    for(i=0;i<_Size;++i)
    {
        if(str==_pSt[i]._Name)
            break;
    }
    cout<<_pSt[i]._Name<<"    "<<_pSt[i]._Age<<"    "<<_pSt[i]._No
            <<"    "<<_pSt[i]._Score[0]<<"    "<<_pSt[i]._Score[1]<<"    "
            <<_pSt[i]._Total<<"    "<<_pSt[i]._Ave<<endl;
}
void Student::ChangeStudent()//修改学生信息
{
    string str;
    cout<<"请输入需要修改学生的姓名:"<<endl;
    cin>>str;
    int i;
    for(i=0;i<_Size;++i)
    {
        if(str==_pSt[i]._Name)
            break;
    }
    cout<<"修改前学生信息:"<<endl;
    cout<<_pSt[i]._Name<<"    "<<_pSt[i]._Age<<"    "<<_pSt[i]._No
            <<"    "<<_pSt[i]._Score[0]<<"    "<<_pSt[i]._Score[1]<<"    "
            <<_pSt[i]._Total<<"    "<<_pSt[i]._Ave<<endl;
    cout<<"修改后的学生姓名:"<<endl;
    cin>>_pSt[i]._Name;
    cout<<"修改后的学生年龄:"<<endl;
    cin>>_pSt[i]._Age;
    cout<<"修改后的学生学号:"<<endl;
    cin>>_pSt[i]._No;
    cout<<"修改后的学生数学成绩:"<<endl;
    cin>>_pSt[i]._Score[0];
    cout<<"修改后的学生英语成绩:"<<endl;
    cin>>_pSt[i]._Score[1];
    _pSt[i]._Total=_pSt[i]._Score[0]+_pSt[i]._Score[1]; 
    _pSt[i]._Ave =_pSt[i]._Total / NUM;
}
void TestFun()
{
    Student s;
    cout<<"欢迎进入西安工业大学学生管理系统界面"<<endl;
    cout<<"1  输入学生信息"<<endl;
    cout<<"2  输出学生信息"<<endl;
    cout<<"3  删除学生信息"<<endl;
    cout<<"4  查找学生信息"<<endl;
    cout<<"5  修改学生信息"<<endl;
    int n;
    while(1)
    {
        cout<<"请选择:"<<endl;
        cin>>n;
        switch(n)
        {
        case 1:
            s.InputStudent();  //输入学生的信息
            break;
        case 2:
            s.OutputStudent();  //输出学生的信息
            break;
        case 3:
            s.DeleteStudent();//删除学生信息
            break;
        case 4:
            s.SearchStudent();//查找学生信息
            break;
        case 5:
            s.ChangeStudent();//修改学生信息
            break;
        default:
            exit(1);
            break;
        }
    }
}

安心下来做技术,笑是最大的福气
原文地址:https://www.cnblogs.com/JN-PDD/p/6642828.html