【花呗 007 源码】【勇ol源码】【乐檬源码】教学管理系统 源码_教学管理系统源码

1.用c++编写学生管理系统
2.学生信息管理系统源代码

教学管理系统 源码_教学管理系统源码

用c++编写学生管理系统

       今天卧病在家,教学教学抽时间写的管理管理这么个简单的管理系统,完全是系统系统花呗 007 源码命令行界面的,对于一些异常的源码源码内容考虑的还不是很周到。不知道你具体用于做什么。教学教学勇ol源码不过希望对你有帮助,管理管理乐檬源码你可以基于源码进行修改。系统系统如下内容在VC上编译并测试通过基本场景。源码源码如果你需要图形界面,教学教学你可以尝试用MFC或者C#等包装,管理管理时间有限,系统系统只能先做到这些了。源码源码good luck!教学教学街道办源码

       // mytest.cpp : 定义控制台应用程序的管理管理入口点。

       //

       #include "stdafx.h"

       #include <iostream>

       #include <map>

       #include <string>

       #include <algorithm>

       class Student

       {

       public:

        Student(std::string name,系统系统杰克源码网

        unsigned long id,

        std::string sex,

        std::string political,

        std::string address)

        :

        m_name(name),

        m_id(id),

        m_sex(sex),

        m_political(political),

        m_address(address)

        {

        }

       public:

        unsigned long m_id;

        std::string m_name;

        std::string m_sex;

        std::string m_political;

        std::string m_address;

       };

       typedef std::map<unsigned long, Student> StudentCont;

       class StudentMgr

       {

       public:

        StudentMgr()

        :

        m_num(0)

        {

        }

        void add()

        {

        std::cin.clear();

        std::cin.sync();

        std::string name("");

        std::cout << "please input student's name: ";

        std::getline(std::cin, name);

        std::string sex("");

        std::cout << "please input student's sex: ";

        std::getline(std::cin,sex);

        std::string political("");

        std::cout << "please input student's political apperance: ";

        std::getline(std::cin,political);

        std::string address("");

        std::cout << "please input student's address: ";

        std::getline(std::cin,address);

        m_num++;

        Student student(name, m_num, sex, political, address);

        m_students.insert(std::make_pair(m_num, student));

        std::cout << "Student " << m_num << " " << name << " " << sex << " " << political << " " << address << " add successfully!" << std::endl;

        }

        void del()

        {

        unsigned long id;

        std::cout << "Please input the student's id:";

        std::cin >> id;

        StudentCont::iterator iter = m_students.find(id);

        if(iter != m_students.end())

        {

        m_students.erase(id);

        std::cout << "Id number: " << id << " was deleted successfully!" << std::endl;

        }

        else

        {

        std::cout << "Id number: " << id << " doesn't exist in the system!" << std::endl;

        }

        }

        void mod()

        {

        unsigned long id;

        std::cout << "Please input the student's id:";

        std::cin >> id;

        StudentCont::iterator iter = m_students.find(id);

        if(iter != m_students.end())

        {

        std::cout << "Id number: " << id << " is found, please input the information you want to change!" << std::endl;

        std::cout << "please input your choice number:" << std::endl;

        std::cout << "--------------------------------" << std::endl;

        std::cout << "-[1] name. -" << std::endl;

        std::cout << "-[2] sex. -" << std::endl;

        std::cout << "-[3] political apperance. -" << std::endl;

        std::cout << "-[4] address. -" << std::endl;

        std::cout << "-[5] Quit! -" << std::endl;

        std::cout << "--------------------------------" << std::endl;

        unsigned long choiceNum;

        std::cin >> choiceNum;

        switch(choiceNum)

        {

        case 1:

        {

        std::string name;

        std::cin.clear();

        std::cin.sync();

        std::cout << "please input new student's name: "<< std::endl;

        std::getline(std::cin,name);

        (*iter).second.m_name = name;

        break;

        }

        case 2:

        {

        std::string sex;

        std::cin.clear();

        std::cin.sync();

        std::cout << "please input correct student's sex: "<< std::endl;

        std::getline(std::cin,sex);

        (*iter).second.m_sex = sex;

        break;

        }

        case 3:

        {

        std::string political;

        std::cin.clear();

        std::cin.sync();

        std::cout << "please input student's new political apperance: "<< std::endl;

        std::getline(std::cin,political);

        (*iter).second.m_political = political;

        break;

        }

        case 4:

        {

        std::string address;

        std::cin.clear();

        std::cin.sync();

        std::cout << "please input student's new address: "<< std::endl;

        std::getline(std::cin,address);

        (*iter).second.m_address = address;

        break;

        }

        case 5:

        break;

        default:

        {

        std::cerr << "Input choice number:" << choiceNum << " is wrong!" << std::endl;

        break;

        }

        }

        }

        else

        {

        std::cout << "Id number: " << id << " doesn't exist in the system, return to the menu!" << std::endl;

        }

        std::cout << "modify sucessfull!" << std::endl;

        }

        void query()

        {

        unsigned long id;

        std::cout << "Please input the student's id:";

        std::cin >> id;

        StudentCont::iterator iter = m_students.find(id);

        if(iter != m_students.end())

        {

        std::cout << "The student's information is: "

        << (*iter).second.m_id << " "

        << (*iter).second.m_name << " "

        << (*iter).second.m_address << " "

        << (*iter).second.m_political << " "

        << (*iter).second.m_sex << std::endl;

        }

        else

        {

        std::cout << "Id number: " << id << " doesn't exist in the system, return to the menu!" << std::endl;

        }

        }

       private:

        unsigned long m_num;

        StudentCont m_students;

       };

       void printMenu()

       {

        std::cout << "please input your choice number:" << std::endl;

        std::cout << "--------------------------------" << std::endl;

        std::cout << "-[1] Add a student. -" << std::endl;

        std::cout << "-[2] Delete a student. -" << std::endl;

        std::cout << "-[3] Modify a student. -" << std::endl;

        std::cout << "-[4] Query students. -" << std::endl;

        std::cout << "-[5] Quit! -" << std::endl;

        std::cout << "--------------------------------" << std::endl;

       }

       void startstudentManagement()

       {

        std::cout << "Thank you for using this simple student management system, Welcome!" << std::endl;

        printMenu();

        std::auto_ptr<StudentMgr> studentMgr(new StudentMgr);

        bool stop = false;

        do

        {

        unsigned long choiceNum = 0;

        std::cout << "Your choice number is: ";

        std::cin.clear();

        std::cin.sync();

        std::cin >> choiceNum;

        switch(choiceNum)

        {

        case 1:

        studentMgr->add();

        break;

        case 2:

        studentMgr->del();

        break;

        case 3:

        studentMgr->mod();

        break;

        case 4:

        studentMgr->query();

        break;

        case 5:

        stop = true;

        break;

        default:

        std::cerr << "The input number is none of the choice, please try again." << std::endl;

        stop = true;

        break;

        }

        }

        while(!stop);

       }

       void stopstudentManagement()

       {

        std::cout << "Thank you for using this simple student management system, Bye!" << std::endl;

       }

       int main(void)

       {

        startstudentManagement();

        stopstudentManagement();

        return 0;

       }

       以上回答你满意么?

学生信息管理系统源代码

       void Sort(student *&head, char type,char maxOrMin)

       {

       /*参数说明:

       type=='1' 按 语文 排列

       type=='2' 按 数学 排列

       type=='3' 按 英语 排列

       type=='4' 按 总分 排列

       type=='5' 按 平均分 排列

       type=='6' 按 座号 排列

       */

       student *pHead,*pH;

        pHead=pH=head;

       int len=GetLength(head);

        float *array=new float[len];

       int i;

       int x=0;

       float num=0;

       while(head)

       {

        Count(head);

       if(type=='1')

       {

        num=head->chinaNum;

       }

       else if(type=='2')

       {

        num=head->mathNum;

       }

       else if(type=='3')

       {

        num=head->englishNum;

       }

       else if(type=='4')

       {

        num=head->result;

       }

       else if(type=='5')

       {

        num=head->average;

       }

       else if(type=='6')

       {

        num=head->num;

       }

       array[x]=num;

       x++;

       head=head->next;

       }

       head=pHead;

       if(maxOrMin=='1')

       {

        for( i=1; i<len; i++)

        {

        for(int j=0; j<len-i; j++)

        {

        if(array[j]<array[j+1])

        {

        float num;

        num=array[j];

        array[j]=array[j+1];

        array[j+1]=num;

        }

        }

        }

        }

       else

       {

        for( i=1; i<len; i++)

        {

        for(int j=0; j<len-i; j++)

        {

        if(array[j]>array[j+1])

        {

        float num;

        num=array[j];

        array[j]=array[j+1];

        array[j+1]=num;

        }

        }

        }

       }

       int pos=1;

       for(i=0; i<len; i++)

       {

        head=pHead;

        while(head)

        {

        if(type=='1')

        {

        num=head->chinaNum;

        }

        else if(type=='2')

        {

        num=head->mathNum;

        }

        else if(type=='3')

        {

        num=head->englishNum;

        }

        else if(type=='4')

        {

        num=int(head->result);

        }

        else if(type=='5')

        {

        num=int(head->average);

        }

        else if(type=='6')

        {

        num=int(head->num);

        }

        int n=0;

        if(int(array[i])==int(num))

        {

        if(int(array[i])!=int(array[i+1]))

        {

        if(n==0)

        {

        n=pos;

        }

        head->pos=pos;

        pos++;

        }

        else

        {

        head->pos=n;

        }

        }

        head=head->next;

        }

       }

       head=pH;

       delete []array;

       }

       void Count(student *&head)

       {

       head->result=head->chinaNum+head->englishNum+head->mathNum;

       head->average=head->result/3;

       }

       void DeleteAll(student* &head)

       {

       student *cp,*np;

        cp=head;

       while(cp)

       {

        np=cp->next;

        delete cp;

        cp=np;

       }

       head=NULL;

       }

       void ChaXun(string str,student *head)

       {

       Sort(head,'4','1');

       cout<<"欢迎使用查询功能"<<endl<<endl;

       cout<<"请输入你要按什么查询 1->一般查询 2->查找最多 3->查找最少"<<endl;

       string s;

       cin>>s;

       while(s[0]!='1'&&s[0]!='2'&&s[0]!='3')

       {

        cout<<"你输入错误,请重新输入."<<endl;

        cin>>s;

       }

       if(s[0]=='1')

       {

        cout<<"按什么查询?"<<endl;

        cout<<"1->姓名 2->座号 3->语文成绩 4->数学成绩 "

        <<"5->英语成绩 6->总分 7->平均分 8->排名"<<endl;

        cin>>str;

        while(str[0]!='1' && str[0]!='2' &&

        str[0]!='3' && str[0]!='4' &&

        str[0]!='5' && str[0]!='6' &&

        str[0]!='7' && str[0]!='8' )

        {

        cout<<"你输入错误,请重新输入."<<endl;

        cin>>str;

        }

        char findStr[];

        cout<<"请输入要查找的关键字或关键数:"<<endl;

        cin>>findStr;

        switch(str[0])

        {

        case '1':

        Find(head,findStr,'1');

        break;

        case '2':

        Find(head,findStr,'2');

        break;

        case '3':

        Find(head,findStr,'3');

        break;

        case '4':

        Find(head,findStr,'4');

        break;

        case '5':

        Find(head,findStr,'5');

        break;

        case '6':

        Find(head,findStr,'6');

        break;

        case '7':

        Find(head,findStr,'7');

        break;

        case '8':

        Find(head,findStr,'8');

        break;

        }

       }

       else if(s[0]=='2')

       {

        cout<<"请输入要按什么查询?"<<endl;

        cout<<"1->语文成绩 2->数学成绩 "

        <<"3->英语成绩 4->总分 5->平均分 6->排名"<<endl;

        string s;

        cin>>s;

        switch(s[0])

        {

        case '1':

        FindMaxOrMin(head,'1','1');

        break;

        case '2':

        FindMaxOrMin(head,'2','1');

        break;

        case '3':

        FindMaxOrMin(head,'3','1');

        break;

        case '6':

        FindMaxOrMin(head,'6','1');

        break;

        case '5':

        FindMaxOrMin(head,'5','1');

        break;

        default:

        FindMaxOrMin(head,'4','1');

        break;

        }

       }

       else if(s[0]=='3')

       {

        cout<<"请输入要按什么查询?"<<endl;

        cout<<"1->语文成绩 2->数学成绩 "

        <<"3->英语成绩 4->总分 5->平均分 6->排名"<<endl;

        string s;

        cin>>s;

        switch(s[0])

        {

        case '1':

        FindMaxOrMin(head,'1','2');

        break;

        case '2':

        FindMaxOrMin(head,'2','2');

        break;

        case '3':

        FindMaxOrMin(head,'3','2');

        break;

        case '6':

        FindMaxOrMin(head,'6','2');

        break;

        case '5':

        FindMaxOrMin(head,'5','2');

        break;

        default:

        FindMaxOrMin(head,'4','2');

        break;

        }

       }

       }

       void ZengJia(string str, student* &head)

       {

       student *pNew=new student;

       cout<<"欢迎使用增加功能"<<endl<<endl;

       cout<<"请输入新学生的名字 :"<<endl;

       cin>>pNew->name;

       cout<<"请输入新学生的座号 :"<<endl;

       cin>>pNew->num;

       cout<<"请输入他的语文分数 :"<<endl;

       cin>>pNew->chinaNum;

       cout<<"请输入他的数学分数"<<endl;

       cin>>pNew->mathNum;

       cout<<"请输入他的英语分数"<<endl;

       cin>>pNew->englishNum;

       cout<<"插入记录的 (1->最前面 2->最后面)"<<endl;

       cin>>str;

       while(str[0]!='1' && str[0]!='2')

       {

        cout<<"你输入错误,请重新输入."<<endl;

        cout<<"插入记录的 (1->最前面 2->最后面)"<<endl;

        cin>>str;

       }

       if(str[0]=='1')

       {

        InsertFront(head,pNew);

       }

       else if(str[0]=='2')

       {

        InsertRear(head,pNew);

       }

       cout<<"新学生增加成功."<<endl;

       }

       void ShanChu(string str, student *&head)

       {

       char delStr[];

       cout<<"欢迎使用删除功能"<<endl<<endl;

       cout<<"1->查询删除 2->全部删除"<<endl;

       cin>>str;

       while(str[0]!='1' && str[0]!='2')

       {

        cout<<"输入错误,请重新输入."<<endl;

        cin>>str;

       }

       if(str[0]=='1')

       {

        cout<<"请输入要删除的关键字"<<endl;

        cin>>delStr;

        cout<<"1->删除第一条找到的记录 2->删除所有找到的记录"<<endl;

        cin>>str;

        while(str[0]!='1'&&str[0]!='2')

        {

        cout<<"你输入错误,请重新输入."<<endl;

        cin>>str;

        }

        cout<<"你真的要删除吗? 1->删除 2->取消"<<endl;

        string s;

        cin>>s;

        if(str[0]=='1')

        {

        if(str[0]=='1')

        {

        Delete(head,delStr,1);

        }

        else

        {

        Delete(head,delStr,2);

        }

        }

        else

        {

        cout<<"你已经取消删除了."<<endl;

        }

       }

       else

       {

        cout<<"你真的要删除全部数据吗?这样会使你的数据全部丢失哦."<<endl;

        cout<<"1->全部删除 2->取消删除"<<endl;

        cin>>str;

        if(str[0]=='1')

        {

        DeleteAll(head);

        }

        else

        {

        cout<<"你已经取消删除了."<<endl;

        }

       }

       }

       void PaiMing(string str, student* head)

       {

       string s;

       cout<<"欢迎使用排名功能"<<endl<<endl;

       cout<<"排名选择: 1->升序 2->降序"<<endl;

       cin>>s;

       cout<<"请输入要按什么排名?"<<endl;

       cout<<"1->语文成绩 2->数学成绩 3->英语成绩 "

        <<"4->总分 5->平均分 6->座号"<<endl;

       cin>>str;

       while(str[0]!='1' && str[0]!='2' &&

        str[0]!='3' && str[0]!='4' &&

        str[0]!='5' && str[0]!='6' )

       {

        cout<<"你输入错误,请重新输入."<<endl;

        cin>>str;

       }

       cout<<"姓名:"<<setw(8)<<"座号:"<<setw()

        <<"语文分数:"<<setw() <<"数学分数:"

        <<setw()<<"英语分数:"<<setw(8)<<"总分数:"

        <<setw(8)<<"平均分:"<<setw(6)<<"名次:"<<endl<<endl;

       if(s[0]=='2')

       {

        switch(str[0])

        {

        case '1':

        Sort(head,'1','1');

        break;

        case '2':

        Sort(head,'2','1');

        break;

        case '3':

        Sort(head,'3','1');

        break;

        case '4':

        Sort(head,'4','1');

        break;

        case '5':

        Sort(head,'5','1');

        break;

        case '6':

        Sort(head,'6','1');

        break;

        }

       }

       else

       {

        switch(str[0])

        {

        case '1':

        Sort(head,'1','2');

        break;

        case '2':

        Sort(head,'2','2');

        break;

        case '3':

        Sort(head,'3','2');

        break;

        case '4':

        Sort(head,'4','2');

        break;

        case '5':

        Sort(head,'5','2');

        break;

        case '6':

        Sort(head,'6','2');

        break;

        }

       }

        ShowList(head);

       return ;

       }

       void XianShi(string str, student *head)

       {

       Sort(head,'4','1');

       string s;

       cout<<"欢迎使用显示功能"<<endl;

       cout<<"1->显示全部记录 2->显示记录数目"<<endl;

       cin>>s;

       if(s[0]=='2')

       {

        cout<<"记录的数目是:"<<GetLength(head)<<endl;

       }

       else

       {

        ShowList(head);

       }

       }

       void XuiGai(string str, student *&head)

       {

       string s;

       student *std;

       cout<<"欢迎使用修改功能"<<endl;

       cout<<"请输入你要按什么查询"<<endl;

       cout<<"1->姓名 2->座号 3->语文成绩 4->数学成绩 "

        <<"5->英语成绩 "<<endl;

       cin>>str;

       while(str[0]!='1' && str[0]!='2' &&

        str[0]!='3' && str[0]!='4' &&

        str[0]!='5' )

       {

        cout<<"你输入错误,请重新输入."<<endl;

        cin>>str;

       }

       char findStr[];

       cout<<"请输入要查找的关键字或关键数:"<<endl;

       cin>>findStr;

       switch(str[0])

       {

       case '1':

        std=Find(head,findStr,'1');

        Reword(std);

        break;

       case '2':

        std=Find(head,findStr,'2');

        Reword(std);

        break;

       case '3':

        std=Find(head,findStr,'3');

        Reword(std);

        break;

       case '4':

        std=Find(head,findStr,'4');

        Reword(std);

        break;

       case '5':

        std=Find(head,findStr,'5');

        Reword(std);

        break;

       }

       Write(head);

       if(std!=NULL)

       {

        cout<<"修改成功."<<endl;

       }

       }

       int Run()

       {

       bool isLoad=false;

       student* head=NULL;

       student *pNew=new student;

       head=Read();

       SetTitle(false);

       if(head!=NULL)

       { Sort(head,'5','1');

        Count(head);

       }

       string str;

       SetTitle(false);

       cout<<" 欢迎使用学生管理系统 "<<endl<<endl;

       cout<<" 1->用户登陆 2->退出程序 "<<endl;

       cin>>str;

       if(str[0]=='2')

       {

        AboutMe();

        return 0;

       }

       else

       {

        isLoad=Enter('1');

        system("cls");

        if(isLoad==true)

        {

        SetTitle(true);

        cout<<" 恭喜,您输入的密码正确.可以对本系统的进行任何操作."<<endl;

        }

        else

        {

        cout<<" Sorry,您输入的密码错误.你不能修改本系统的任何内容."<<endl;

        }

       }

       begin:

       cout<<endl<<endl;

       cout<<" 欢迎使用学生管理系统 "<<endl<<endl;

       cout<<" 1->增加功能 2-查询功能"<<endl;

       cout<<" 3->删除功能 4-排名功能"<<endl;

       cout<<" 5->显示功能 6-修改功能"<<endl;

       cout<<" 7->用户设置 8-退出程序"<<endl;

       cout<<"请输入您的选择: "<<endl;

       cin>>str;

       while(str[0]!='8')

       {

        if(isLoad==true && head!=NULL)

        {

        cout<<endl<<endl;

        if(str[0]=='1')

        {

        ZengJia(str, head);

        Sort(head,'4','1');

        Write(head);

        }

        else if(str[0]=='2')

        {

        ChaXun(str,head);

        }

        else if(str[0]=='3')

        {

        ShanChu(str,head);

        Sort(head,'4','1');

        Write(head);

        }

        else if(str[0]=='4')

        {

        PaiMing(str,head);

        }

        else if(str[0]=='5')

        {

        XianShi(str,head);

        }

        else if(str[0]=='6')

        {

        XuiGai(str,head);

        Write(head);

        }

        else if(str[0]=='7')

        {

        cout<<"欢迎使用用户修改功能"<<endl;

        isLoad=Enter('2');

        }

        else if(str[0]=='8')

        {

        AboutMe();

        return 0;

        }

        else

        {

        cout<<"你输入错误,请重新输入."<<endl;

        goto begin;

        }

        }

        else if(isLoad==false && head!=NULL)

        {

        if(str[0]=='2')

        {

        ChaXun(str,head);

        }

        else if(str[0]=='4')

        {

        PaiMing(str,head);

        }

        else if(str[0]=='5')

        {

        XianShi(str,head);

        }

        else

        {

        cout<<"你不是管理员,不能进行此项功能."<<endl;

        cout<<"你只能进行 查询功能 显示功能 排名功能"<<endl;

        }

        }

        else if( head==NULL && isLoad==true)

        {

        cout<<"系统检查到你没有任何记录,不能进行任何操作,只能增加记录."<<endl;

        ZengJia(str, head);

        Write(head);

        head=Read();

        }

        else if( head==NULL && isLoad==false)

        {

        cout<<"因为你没有登陆,系统又检查到你没有任何记录,你不能进行任何操作."<<endl;

        }

        cout<<endl<<endl;

        cout<<"按任何键继续进行操作."<<endl;

        getchar();

        getchar();

        system("cls");

        goto begin;

       }

       AboutMe();

       return 0;

       }

       void SetTitle(bool isLoad)

       {

       HWND hwnd=GetForegroundWindow();

       if(isLoad==false)

       {

        SetWindowText(hwnd," 学生管理系统(没有登陆)");

       }

       else

       {

        SetWindowText(hwnd," 学生管理系统(已经登陆)");

       }

       system("color a");

       }

       void AboutMe()

       {

       char*pStr= " ┃ \n"

        " ┃ \n"

        " ┏━━━━┻━━━━┓ \n"

        " ┃ 关于作者 ┃ \n"

        " ┏━━━━┻━━━━━━━━━┻━━━━┓\n"

        " ┃ ┃\n"

        " ┃ Aauthor:

更多内容请点击【探索】专栏

精彩资讯