学生管理系统--CCAT

来源:互联网 发布:域名多ip 解析 编辑:程序博客网 时间:2024/05/16 01:22
#include <iostream>#include <fstream>#include <string.h>#include <stdlib.h>#include <iomanip>#define MAXACCOUNTNUMBER 500using namespace std;//欢迎界面void welcome();//主界面void mainFrame();//查询学生信息void bid();//显示学生信息void show();//创建账户void openAccount();//删除学生void deletestu();//修改学生void altre();//对学生按照学号排序void sortstu();//读取文件void Read() ;//写入文件void Save();struct Account{    long stuNumber;   //学号    char stuName[20]; //姓名    char stuPwd[10];  //性别    int  ages;       //年龄    double grade ;   //成绩};//所有学生信息Account array[MAXACCOUNTNUMBER];//人员的数量int size=0;int main(){     Read();    int i;    char loginName[20];    char loginPwd[20];    welcome();    for(i=0;i<3;i++)    {        cout<<endl<<"请输入用户名:";        cin>>loginName;        cout<<endl<<"请输入六位登陆密码:";        cin>>loginPwd;        if(strcmp(loginName,"admin")==0&&strcmp(loginPwd,"123456")==0)        {            mainFrame();            break;        }        else        {            cout<<endl<<"用户名或密码输入错误"<<endl;            cout<<endl<<"您还有"<<2-i<<"次机会"<<endl<<endl;            if(2-i==0){                cout<<"请办理密码业务后再来!"<<endl;            }        }    }    return 0;}void welcome(){    cout<<"                            欢迎登录学生信息管理系统"<<endl;}void mainFrame(){    int order=0;    cout<<endl<<endl<<"                            欢迎登录学生信息管理系统"<<endl;    cout<<endl;    cout<<"                               1.增加学生"<<endl;    cout<<"                               2.删除学生"<<endl;    cout<<"                               3.修改信息"<<endl;    cout<<"                               4.所有学生"<<endl;    cout<<"                               5.学生排序"<<endl;    cout<<"                               6.查找学生"<<endl;    cout<<"                               7.退出系统"<<endl;    cout<<endl<<"请输入操作指令: ";    cin>>order;    switch(order)    {    case 1:        openAccount();        break;    case 2:        deletestu();        break;    case 3:        altre();        break;    case 4:        show();        break;    case 5:        sortstu();        break;    case 6:        bid();        break;    case 7:          Save();          exit(1);          break;    default:        cout<<endl;        cout<<"您输入的指令有误!  系统退出!!!"<<endl;        cout<<endl;        Save();        exit(1);        break;    }}void show(){    cout<<endl<<"                   学生信息总览"<<endl;    cout<<endl;    cout<<"学号   姓名   性别    年龄    成绩     "<<endl;    cout<<"----------------------------------------------------------------"<<endl;    for(int i=0;i<size;i++)    {        if(array[i].stuNumber!=-1)        {            cout<<array[i].stuNumber<<'\t'<<array[i].stuName<<'\t'<<array[i].stuPwd<<'\t'<<array[i].ages<<'\t'<<array[i].grade<<endl;        }    }     mainFrame();}//创建账户void openAccount(){    char s;    cout<<"请输入学生的学号,姓名,性别,年龄,成绩:"<<endl;    cin>>array[size].stuNumber>>array[size].stuName>>array[size].stuPwd>>array[size].ages>>array[size].grade;    size++;    cout<<endl<<"学生信息创建成功"<<endl;      cout<<"是否继续添加学生:y  or  n"<<endl;      cin>>s;      if(s=='y'||s=='Y'){            openAccount();      }else{          fflush(stdin);         mainFrame();      }}//删除学生void deletestu(){    int a;    char b;    cout<<"请输入删除学生的下标:"<<endl;    cin>>a;    array[a-1].stuNumber=-1;    cout<<"删除成功,是否继续 y  or   n"<<endl;    cin>>b;    if(b=='y'||b=='Y'){            deletestu();      }else{          fflush(stdin);         mainFrame();      }}//修改学生void altre(){    long a;    char b;    cout<<"请输入要修改学生的学号:"<<endl;    cin>>a;    for(int i=0;i<size;i++)    {        //cout<<"*******"<<endl;        if(array[i].stuNumber==a)        {            cout<<"请输入学生的姓名,性别,年龄,成绩:"<<endl;            cin>>array[i].stuName>>array[i].stuPwd>>array[i].ages>>array[i].grade;            fflush(stdin);            cout<<"修改成功。修改后的信息为:"<<endl;            cout<<array[i].stuNumber<<'\t'<<array[i].stuName<<'\t'<<array[i].stuPwd<<'\t'<<array[i].ages<<'\t'<<array[i].grade<<endl;            break;            cout<<"是否继续 y  or  n"<<endl;             cin>>b;                if(b=='y'||b=='Y'){                altre();            }        }    }     cout<<"没有录入该信息!"<<endl;    mainFrame();}//对学生按照学号排序void sortstu(){    int i,j,t,m;    double n;    char stu[20];    char sex[20];    for(j=0;j<size;j++)        for(i=0;i<size-j-1;i++)            if(array[i].stuNumber>array[i+1].stuNumber)            {                t=array[i].stuNumber;                array[i].stuNumber=array[i+1].stuNumber;                array[i+1].stuNumber=t;                strcpy(stu,array[i].stuName);                strcpy(array[i].stuName,array[i+1].stuName);                strcpy(array[i+1].stuName,stu);                strcpy(sex,array[i].stuPwd);                strcpy(array[i].stuPwd,array[i+1].stuPwd);                strcpy(array[i+1].stuPwd,sex);                m=array[i].ages;                array[i].ages=array[i+1].ages;                array[i+1].ages=m;                n=array[i].grade;                array[i].grade=array[i+1].grade;                array[i+1].grade=n;            }            cout<<"排序后的结果是:"<<endl;            show();}//查询学生信息void  bid(){    long num;    char b;    cout<<"请输入您要查询的学生学号:"<<endl;    cin>>num;    for(int i=0;i<size;i++){        if(array[i].stuNumber==num){            cout<<array[i].stuNumber<<'\t'<<array[i].stuName<<'\t'<<array[i].stuPwd<<'\t'<<array[i].ages<<'\t'<<array[i].grade<<endl;             cout<<"是否继续 y  or  n"<<endl;             cin>>b;                if(b=='y'||b=='Y'){                bid();            }        }    }    cout<<"没有录入该信息!"<<endl;    mainFrame();}//读取文件void Read(){    ifstream infile("学生数据.txt",ios::in);        //文件目标    if(!infile)    {        cerr<<endl<<"学生数据文件不存在!!!"<<endl<<endl;        exit(1);    }    while(!infile.eof())                //依次检索文件    {        infile>>array[size].stuNumber>>array[size].stuName>>array[size].stuPwd>>array[size].ages>>array[size].grade;        size++;    }    size-=1;    infile.close();}//保存文件void Save(){    ofstream outfile("学生数据.txt",ios::out);    if(!outfile)    {        cerr<<endl<<"文件不存在!"<<endl;        exit(1);    }    for(int i=0;i<size;i++)                    //依次写入文件    {        outfile<<array[i].stuNumber<<"  "<<array[i].stuName<<"  "<<array[i].stuPwd<<"  "<<array[i].ages<<"  "<<array[i].grade<<endl;    }    outfile.close();    cout<<endl<<"祝您心情愉快!"<<endl;    cout<<endl<<"欢迎您下次使用!"<<endl;    cout<<endl;    exit(1);}


输出结果:




心得体会:

可能不是很完善,考试仓促。