学生信息管理系统(C++实现)

大学大二下学期专业实习作业;

 

#include
#include
#include
#include
#include
#include
using namespace std;
typedef struct StuBasic{//基本信息
    int stunum;//学号
    string name;
    string sex;
    string dornum;//宿舍号码
    string tel;//电话(七位)
}StuB;
typedef struct StuResult{//成绩信息
    int stunum;//学号
    string counum;//课程号
    string cou;//课程
    float cre;//学分
    float ures;//平时成绩
    float tres;//实验成绩
    float pres;//试卷成绩
    float tolres;//总成绩
    float tolcre;//总学分
}StuR;
StuB stub[1001];
StuR stur[1001];

/**函数定义**/
int AddTolRes(StuR stu);//计算总成绩
int AddTolCre(StuR stu);//计算总学分

int InsertStuBas();//录入学生基本信息
int InsertStuRes();//录入学生成绩信息

int SelectAllA();//查询A.txt的内容到stub[]
int SelectAllB();//查询B.txt的内容到stur[]
int SelectStuBNum();//查询基本信息函数(按学号)
int SelectStuDro();//查询宿舍函数
int SelectStuRNum();//查询成绩(按学号)
int SelectStuRAll();//查询全部
int SelectStuBAll();//查询全部

StuB S2Stub(string s);//从文件中取出学生基本信息并放到Stub中
StuR S2Stur(string s);//从文件中取出学生成绩信息并放到Stur中

int DeleteStu();//删除一个学生信息
int DeleteDro(string dor);//删除一个寝室信息

int UpdateStuB();//修改基本信息(按学号)
int UpdateStuR();//修改成绩信息(按学号)

int compare(StuR s1,StuR s2);//排序比较函数
int SortStu();//排序函数

int main()
{
    cout<>name;
    cout<<"请输入管理员访问密码:";
    cin>>pwd;
    while(name!="xiaoran"||pwd!="12345"){
        cout<<"账户或密码错误,请重新输入!"<>name;
        cout<<"请输入管理员访问密码:";
        cin>>pwd;
    }
    cout<<"输入正确,欢迎访问!"<>key;
        while(key<0&&key>5){
            cout<<"输入错误,请重新输入:";
            cin>>key;
        }
        if(key==0) break;
        switch (key){
            case 1://1、录入学生信息
                do{
                    cout<<"     1.录入学生基本信息"<>key1;
                    while(key1!=1&&key1!=2){
                        cout<<"输入错误,请重新输入:";
                        cin>>key1;
                    }
                    switch (key1){
                    case 1:
                        InsertStuBas();
                        break;
                    case 2:{
                        InsertStuRes();
                        break;
                    }
                    default :
                        break;
                    }
                    cout<<"输入y继续当前操作,输入n(或其他)返回上一层:";
                    cin>>ch;
                }while(ch=='y');
            break;
            case 2:{//2、查询学生信息
                do{
                    cout<<"     1.查询学生基本信息(支持学号和寝室)"<>key1;
                    while(key1!=1&&key1!=2){
                        cout<<"输入错误,请重新输入:";
                        cin>>key1;
                    }
                    switch (key1){
                    case 1:{
                        do{
                            cout<<"     1.按学号查询"<>key1;
                            while(key1!=1&&key1!=2&&key1!=3){
                                cout<<"输入错误,请重新输入:";
                                cin>>key1;
                            }
                            switch (key1){
                            case 1:
                                SelectStuBNum();
                            break;
                            case 2:
                                SelectStuDro();
                            break;
                            case 3:
                                SelectStuBAll();
                            break;
                            default :break;
                            }
                            cout<<"输入y继续当前操作,输入n(或其他)返回上一层,0返回主菜单:";
                            cin>>ch;
                         }while(ch=='y');
                    break;
                    }
                    case 2:{
                        do{
                            cout<<"     1.按学号查询"<>key1;
                            while(key1!=1&&key1!=2){
                                cout<<"输入错误,请重新输入:";
                                cin>>key1;
                            }
                            switch (key1){
                            case 1:
                                SelectStuRNum();
                            break;
                            case 2:
                                SelectStuRAll();
                            break;
                            default :break;
                            }
                            cout<<"输入y继续当前操作,输入n(或其他)返回上一层,0返回主菜单:";
                            cin>>ch;
                         }while(ch=='y');
                        break;
                    }
                    default :
                        break;
                    }
                }while(ch=='n');
            break;
        }
        case 3:{
            char c;
            do{
                DeleteStu();
                cout<<"输入y继续当前操作,输入n返回主菜单:";
                cin>>c;
            }while(c=='y');
        break;
        }

        case 4://1、修改学生信息
            do{
                cout<<"     1.修改学生基本信息"<>key1;
                while(key1!=1&&key1!=2){
                    cout<<"输入错误,请重新输入:";
                    cin>>key1;
                }
                switch (key1){
                    case 1:
                        UpdateStuB();
                    break;
                    case 2:{
                        UpdateStuR();
                        break;
                    }
                    default :
                        break;
                }
                cout<<"输入y继续当前操作,输入n(或其他)返回上一层:";
                cin>>ch;
            }while(ch=='y');
        break;

        case 5:{
            SortStu();
            getchar();
            getchar();
        break;
        }
        case 0:
            break;
        }

    }while(key||ch=='0');
    return 0;
}

int InsertStuBas()
{
    fstream afile;
    int n,i;
    cout<<"请输入学生个数:";
    cin>>n;
    for(i=0;i>stub[i].stunum;

        cout<<"输入姓名:";
        cin>>stub[i].name;

        cout<<"输入性别:";
        cin>>stub[i].sex;

        cout<<"输入寝室号:";
        cin>>stub[i].dornum;

        cout<<"输入电话:";
        cin>>stub[i].tel;
    }
    for(i=0;i>n;
    for(i=0;i>stur[i].stunum;

        cout<<"输入课程号:";
        //string counum;//课程号
        cin>>stur[i].counum;

        cout<<"输入课程:";
        //string cou;//课程
        cin>>stur[i].cou;

        cout<<"输入学分:";
        //int cre;//学分
        cin>>stur[i].cre;

        cout<<"输入平时成绩:";
        //int ures;//平时成绩
        cin>>stur[i].ures;

        cout<<"输入实验成绩:";
        //int tres;//实验成绩
        cin>>stur[i].tres;

        cout<<"试卷成绩:";
        //int pres;//试卷成绩
        cin>>stur[i].pres;

        float tolres;//总成绩
        float tolcre;//总学分
        if(stur[i].tres==-1){
            tolres=stur[i].pres*0.7+stur[i].ures*0.3;
        }else{
            tolres=stur[i].pres*0.7+stur[i].ures*0.15+stur[i].tres*0.15;
        }
        stur[i].tolres=tolres;
        //cout<=90&&tolres<=100){
            tolcre=stur[i].cre;
        }else if(tolres>=80&&tolres<90){
            tolcre=stur[i].cre*0.8;
        }else if(tolres>=70&&tolres<80){
            tolcre=stur[i].cre*0.75;
        }else if(tolres>=60&&tolres<70){
            tolcre=stur[i].cre*0.6;
        }else{
            tolcre=0;
        }
        stur[i].tolcre=tolcre;
        //cout<>num;
    cout<<" 学号  "<<" 姓名  "<<" 性别  "<<" 寝室  "<<" 电话  "<>s1;
    cout<<" 学号  "<<" 姓名  "<<" 性别  "<<" 寝室  "<<" 电话  "<>num;
    cout<<" 学号"<<" 课程号"<<" 课程"<<" 学分"
        <<" 平时成绩"<<" 实验成绩"<<" 试卷成绩"
        <<" 总成绩"<<" 总学分"<>num;
    int k1=SelectAllA();
    int k2=SelectAllB();
    fstream afile;
    fstream bfile;
    afile.open("A.txt",ios::out);//写的方式写入文件
    for(int i=0;is2.tolres) return 1;
    else return 0;
}
int SortStu()//排序函数(总成绩))
{
    int k2=SelectAllB();
    fstream bfile;
    sort(stur,stur+k2,compare);
    bfile.open("B.txt");//读写、追加的方式写入文件
    for(int i=0;i>num;
    int k1=SelectAllA();
    //int k2=SelectAllB();
    fstream afile;
    //fstream bfile;
    afile.open("A.txt",ios::out);//读写的方式写入文件
    for(int i=0;i>stub[i].stunum;
            **/
            cout<<"输入姓名:";
            string name;
            cin>>name;
            stub[i].name=name;

            cout<<"输入性别:";
            string sex;
            cin>>sex;
            stub[i].sex=sex;

            cout<<"输入寝室号:";
            string dornum;
            cin>>dornum;
            stub[i].dornum=num;

            cout<<"输入电话:";
            string tel;
            cin>>tel;
            stub[i].tel=tel;
        }
        afile<>num;
    //int k1=SelectAllA();
    int k2=SelectAllB();
    //fstream afile;
    fstream bfile;
    bfile.open("B.txt",ios::out);//读写的方式写入文件
    for(int i=0;i>stur[i].stunum;
            **/
            cout<<"输入课程号:";
            string counum;//课程号
            cin>>counum;
            stur[i].counum=counum;

            cout<<"输入课程:";
            string cou;//课程
            cin>>cou;
            stur[i].cou=cou;

            cout<<"输入学分:";
            float cre;//学分
            cin>>cre;
            stur[i].cre=cre;

            cout<<"输入平时成绩:";
            float ures;//平时成绩
            cin>>ures;
            stur[i].ures=ures;

            cout<<"输入实验成绩:";
            float tres;//实验成绩
            cin>>tres;
            stur[i].tres=tres;

            cout<<"试卷成绩:";
            float pres;//试卷成绩
            cin>>pres;
            stur[i].pres=pres;

            float tolres;//总成绩
            float tolcre;//总学分
            if(stur[i].tres==-1){
                tolres=stur[i].pres*0.7+stur[i].ures*0.3;
            }else{
                tolres=stur[i].pres*0.7+stur[i].ures*0.15+stur[i].tres*0.15;
            }
            stur[i].tolres=tolres;
            //cout<=90&&tolres<=100){
                tolcre=stur[i].cre;
            }else if(tolres>=80&&tolres<90){
                tolcre=stur[i].cre*0.8;
            }else if(tolres>=70&&tolres<80){
                tolcre=stur[i].cre*0.75;
            }else if(tolres>=60&&tolres<70){
                tolcre=stur[i].cre*0.6;
            }else{
                tolcre=0;
            }
            stur[i].tolcre=tolcre;

            }
        bfile<

 

 

 

 

 

你可能感兴趣的:(喵喵~各种作业代码)