学生信息管理系统

来源:互联网 发布:炒外汇技术大数据 编辑:程序博客网 时间:2024/06/07 14:53

大一时候的作业。。。

#include <iostream>#include <conio.h>#include <fstream>#include <iomanip>#include <stdlib.h>#include <string>using namespace std;void menu(){    system("color 5f");    cout<<"学生成绩综合管理系统"<<endl<<endl;    cout<<"1.新增学生信息"<<endl<<endl;    cout<<"2.输出学生信息"<<endl<<endl;    cout<<"3.修改学生信息"<<endl<<endl;    cout<<"4.查找学生信息"<<endl<<endl;    cout<<"5.按成绩升序排序"<<endl<<endl;    cout<<"6.按成绩降序排序"<<endl<<endl;    cout<<"7.按学号排序"<<endl<<endl;    cout<<"w  保存文件"<<endl<<endl;    cout<<"r  读取文件"<<endl<<endl;    cout<<"e  退出系统"<<endl;}class student{public:    student();    ~student();    void tianjia();    void shuchu();    void xiugai();    void chazhao();    void shengxu();    void jiangxu();    void anxuehaopai();    void savefile();    void readfile();    void tuichu()const;    void display()const;    void getdate();    int number;    string name;    int score;private:};student *list[99999]={0};int position=0;void student::display ()const{    cout<<"学号  "<<"姓名      "<<"分数    "<<endl;    cout<<left<<setw(6)<<number<<setw(10)<<name<<setw(6)<<score<<endl;}void student::getdate(){    cin>>number;    cin>>name;    cin>>score;}student::student(){}student::~student(){}//1添加信息void student::tianjia(){    int n;    cout<<"请输入要添加的人数: "<<endl;    cin>>n;    for(int i=0;i<n;i++)    {        cout<<"请输入要添加的数据:(学号 姓名 分数) "<<endl;        list[position++]=new student;        cin>>list[position-1]->number>>list[position-1]->name>>list[position-1]->score;    }}//2输出内容void student::shuchu(){    system("cls");    for(int i=0;i<position;i++)    {        list[i]->display();    }    cout<<"按任意键返回主菜单"<<endl;    getch();}//3修改学生信息void student::xiugai(){    int num;    cout<<"请输入要修改学生的学号: "<<endl;    cin>>num;    int i;    int a,c;    string b;    for(i=0;i<position;i++)    {        if(list[i]->number==num)        {            cout<<"找到该学生\n请输入修改后的学号 姓名 成绩"<<endl;            cin>>a>>b>>c;            list[i]->number=a;            list[i]->name=b;            list[i]->score=c;        }    }    if(i==position)    cout<<"没有找到要改的人"<<endl;}//4查找学生void student::chazhao(){    int num;    cout<<"请输入要搜的学号: "<<endl;    cin>>num;    int i;    for(i=0;i<position;i++)    {        if(list[i]->number==num)        break;    }    if(i==position)    cout<<"没有找到"<<endl;    else    {        cout<<"匹配的结果:  "<<endl;        list[i]->display();    }}//5升序排列void student::shengxu(){    for(int i=0; i<position-1; i++)    {        for(int j=i+1; j<position; j++)        if(list[j]->score<list[i]->score)        {            student *tem=list[i];            list[i]=list[j];            list[j]=tem;        }    }}//6降序排列void student::jiangxu(){    for(int i=0; i<position-1; i++)    {        for(int j=i+1; j<position; j++)        if(list[j]->score>list[i]->score)        {            student *tem=list[i];            list[i]=list[j];            list[j]=tem;        }    }}//7按学号排列void student::anxuehaopai(){    for(int i=0; i<position-1; i++)    {        for(int j=i+1; j<position; j++)        if(list[j]->number<list[i]->number)        {            student *tem=list[i];            list[i]=list[j];            list[j]=tem;        }    }}//w保存文件void student::savefile(){    system("cls");    cout<<"请输出要存的位置:  "<<endl;    char weizhi[200];    cin.getline(weizhi,200);    fstream output(weizhi,ios::out);    for(int i=0;i<position;i++)    {        output<<list[i]->number<<' '<<list[i]->name<<' '<<list[i]->score<<'\n';    }    output.close();}//r读取文件void student::readfile(){    cout<<"请输入完整的路径名文件名:"<<endl;    char wenjianming[200];    cin.getline(wenjianming,200);    fstream input(wenjianming, ios::in);    while(1)    {        int number;        input>>number;        if(input.eof())        break;        list[position++]=new student;        list[position-1]->number=number;        input>>list[position-1]->name>>list[position-1]->score;    }    input.close();}//e退出系统int main(){    student hehe;    while(1)    {        system("cls");        menu();        char a=getch();        switch(a)        {            case '1':            {                system("cls");                hehe.tianjia();                hehe.shuchu();                break;            }            case '2':                system("cls");                hehe.shuchu();                break;            case '3':                hehe.xiugai();                break;            case '4':                system("cls");                hehe.chazhao();                getch();                break;            case '5':                system("cls");                hehe.shengxu();                hehe.shuchu();                break;            case '6':                system("cls");                hehe.jiangxu();                hehe.shuchu();                break;            case '7':                system("cls");                hehe.anxuehaopai();                hehe.shuchu();                break;            case 'w':                system("cls");                hehe.savefile();                break;            case 'r':                system("cls");                hehe.readfile();                break;            case 'e':                goto jieshu;        }    }    jieshu:cout<<"谢谢使用!O(∩_∩)O"<<endl;    cout<<"按任意键退出"<<endl;    getch();    return 0;}