精华内容
下载资源
问答
  • 学生考勤管理系统C++STL版本

    千次阅读 2018-05-14 23:42:23
    void User::changeTime(int no,Time t)//具体哪一位学生 {  for(it=r.begin();it!=r.end();it++)  {  if(it->getNo()==no)  {  r[it-r.begin()].setChange(t);  }  } } void User::queryTime(Time t) {  for...

    //今天先写两个基础数据类

    #include<bits/stdc++.h>
    using namespace std;
    class Time
    {
        int year;
        int month;
        int day;
        int hour;
    public:
        Time(int x,int y,int z,int v):year(x),month(y),day(z),hour(v){}
        Time(){}
        int getYear(){return year;};
        int getMonth(){return month;};
        int getDay(){return day;};
        int getHour(){return hour;};
        bool operator<(const Time&d)const
        {
            return year!=d.year?year<d.year:month!=d.month?month<d.month:day!=d.day?day<d.day:hour<d.hour;
        }
        friend ostream&operator<<(ostream &os, const Time &d);
        friend istream&operator>>(istream &in, Time &d);
    };
    ostream&operator<<(ostream &os,const Time &d)
    {
        os<<d.year<<" "<<d.month<<" "<<d.day<<" "<<d.hour;
        return os;
    }
    istream&operator>>(istream &in,Time &d)
    {
        in>>d.year;
        in>>d.month;
        in>>d.day;
        in>>d.hour;
        /*while(1)
        {
            in>>d.year;
            if(d.year>1900&&d.year<2019)
            break;
            else cout<<"请重输\n";
        }
        while(1)
        {
            in>>d.month;
            if(d.month>0&&d.month<13)
            break;
            else cout<<"请重输\n";
        }
        while(1)
        {
         in>>d.day;
         if(d.day>0&&d.day<32)
         break;
         else  cout<<"请重输\n";
        }
        while(1)
        {
            in>>d.hour;
            if(d.hour>0&&d.hour<24)
            break;
           else cout<<"请重输\n";
        }
        */
        return in;
    }
    /*
    记录类
    1.包含借阅人一部分信息
    2.借阅图书序号及少部分信息
    3.简易为下面服务的函数及运算符重载;
    */
    class Record
    {
        string name;
        int id;
        int id1;
        int code;
        int major;
        int classes;
        int nowBorrows;
        int breaks;
        string type;
        Time start;
        Time end;
        bool either;
        Time changeEnd;
    public:
        Record(Time t1,Time t2);
        Record(){changeEnd=end;}
        Time getStart(){return start;};
        Time getEnd(){return end;};
        Time setChange(Time t){changeEnd=t;}
        int getNo(){return id;};
        int getId(){return id1;};
        string getType(){return type;};
        string getName(){return name;};
        friend ostream&operator<<(ostream&os,const Record&r);
        friend istream&operator>>(istream&in,Record&r);
    };
    istream&operator>>(istream&in,Record&r)
    {
        in>>r.id;
        if(r.id==0)return in;
        in>>r.id1;
        in>>r.type;
        in>>r.start;
        in>>r.end;
        r.changeEnd=r.end;
        return in;
    }
    ostream&operator<<(ostream&os,const Record&r)
    {
            os<<r.id<<" ";
            os<<r.id1<<" ";
            os<<r.type<<" ";
            os<<r.start<<" ";
            os<<r.changeEnd<<" "<<endl;
            return os;
    }
    Record::Record(Time t1,Time t2)
    {
        start=t1;
        end=t2;
        changeEnd=end;
    }
    /*
    书数据类
    1.提供书的信息
    2.提供这本书一些人借阅记录查阅
    3.可借数量,判断函数为下面操作类服务
    */
    class Book//书籍类
    {
        string name;
        string name1;
        string press;
        int no;
        int number;//每类书的总数
        int borrow;//借出数量
        int left;
        vector<Record>r;
        int num;
    public:
        Book(string name1,int no1,string press1,int number1,int num1):name(name1),no(no1),press(press1),number(number1),num(num1){}
        Book(){number=0;borrow=0;num=0;}
        string getName(){return name;};
        string getPress(){return press;};
        Record getRecord(int i){return r[i];};
        void addBorrowsJ(int n){borrow+=n;}
        void addBorrowsH(int n){borrow-=n;};
        int getNo(){return no;};
        int getNum(){return num;};
        void setNum(int i){num+=i;};
        void addRecord(Record rr){num++;r.push_back(rr);};
        int getNowNumber(){return (number-borrow);}//可借数量
        int getNumber(){return number;};
        int getBorrows(){return borrow;};
        int getLeft(){return left;};
        friend ostream&operator<<(ostream&os,const Book&b);
        friend istream&operator>>(istream&in,Book&b);
    };
    istream&operator>>(istream&in,Book&b)
    {
        in>>b.name;
        if(b.name=="E")return in;
        in>>b.no>>b.name1>>b.press>>b.number>>b.num;
         for(int i=0;i<b.num;++i)
         {
             Record rr;
             in>>rr;
             b.r.push_back(rr);
         }
        return in;
    }
    ostream&operator<<(ostream&os,const Book&b)
    {
        os<<b.name<<" "<<b.no<<" "<<b.name1<<" "<<b.press<<" "<<b.number<<" "<<b.num<<endl;
        for(int i=0;i<b.num;++i)
         {
             os<<b.r[i];
         }
        return os;
    }
    /*
    用户数据类
    1.提供大多数数据
    2.包含一部分小函数
    3.查询函数,显示函数,修改函数,为操作类服务;
    4.一部分注释,修改版
    */
    class User
    {
        string name;
        string major;
        string classes;
        int id;
        int num;//记录条数
        int code;
        int borrows;
        int nowBorrows;
        int canReborrow;
        bool breaks;
        vector<Book>b;
        multimap<int,int>b1;
        multimap<int,int>::iterator b1p;
        multimap<string,int>b2;
        multimap<string,int>::iterator b2p;
        vector<Record>r;
        vector<Record>::iterator it;
        multimap<int,int>m1;
        multimap<int,int>::iterator m1p;
        multimap<string,int>m2;
        multimap<int,int>::iterator m2p;
        multimap<Time,int>m3;
        multimap<Time,int>::iterator m3p;
    public:
        User()
        {borrows=10;breaks=0;nowBorrows=0;canReborrow=1;}
        void addOne();
        void addSome();
        int getNowBorrows(){return nowBorrows;};
        int getNowReborrow(){return canReborrow;};
        int getBreaks(){return breaks;};
        int getId(){return id;}
        string getName(){return name;}
        void addReborrow(int i){canReborrow-=i;};
        void addBreaks(int m){breaks+=m;};
        void addNowBorrowsJ(int m){nowBorrows+=m;};
        void addNowBorrowsH(int m){nowBorrows-=m;};
        void addRecord(Record rr){num++;r.push_back(rr);}
        void show();
        void queryTime(Time t);
        void changeTime(int no,Time t);
        void queryNow();
        //void reBorrow();
        friend istream&operator>>(istream&in,User &u);
        friend ostream&operator<<(ostream&os,User &u);
    };
    void User::changeTime(int no,Time t)//具体哪一位学生
    {
        for(it=r.begin();it!=r.end();it++)
        {
            if(it->getNo()==no)
            {
                r[it-r.begin()].setChange(t);


            }
        }


    }
    void User::queryTime(Time t)
    {
        for(it=r.begin();it!=r.end();it++)
        {
            if(it->getEnd()<t)
            cout<<*it;
        }
    }
    void User::show()
    {
        for(it=r.begin();it!=r.end();it++)
        {
            cout<<*it;
        }
    }
    /*void User::load()
    {
        int i;
        Book bb;
        ifstream infile("d:\\User.txt",ios::in);
        if(!infile)
        return;
        b.clear();
        b1.clear();
        b2.clear();
        i=0;
        while(infile>>bb)
        {
            b.push_back(bb);
            b1.insert(make_pair(bb.getNo(),i));
            b2.insert(make_pair(bb.getName(),i));
            i++;
        }
        infile.close();
    }
    void User::reBorrow()
    {
        bool e;
        if(!can())
        {
            cout<<"您已达借阅上限\n";
        }
        else
    {
        cout<<"您想续借书的序号以及借到的时间\n";
        int s;
        cin>>s;
        Time t;
        cin>>t;
        for(it=r.begin();it!=r.end();it++)
        {
            if(r[it-r.begin()].getId()==s)
            r[it-r.begin()].setChange(t);
        }
    }
    }*/
    void User::queryNow()
    {
        cout<<"输入当前时间\n";
        Time t;
        cin>>t;
        for(it=r.begin();it!=r.end();it++)
        {
            if(r[it-r.begin()].getEnd()<t)
            cout<<r[it-r.begin()]<<endl;
        }
    }
    /*void User::queryId(int ids)
    {
        it=find_if(r.begin(),r.end(),cmp1(ids));
        while(it!=r.end())
        {
            cout<<"found:\t"<<r[it-r.begin()]<<endl;
            it=find_if(it+1,r.end(),cmp1(ids));
        }
    }*/
    istream&operator>>(istream&in,User &u)
    {
        in>>u.id;
        if(u.id==0)return in;
        in>>u.code>>u.name>>u.major>>u.classes>>u.nowBorrows>>u.breaks>>u.num;
        for(int i=0;i<u.num;++i)
         {
             Record rr;
             in>>rr;
             u.r.push_back(rr);
         }
        return in;
    }
    ostream&operator<<(ostream&os,User&u)
    {
        os<<u.id<<" "<<u.code<<" "<<u.name<<" "<<u.major<<" "<<u.classes<<" "<<u.nowBorrows<<" "<<u.breaks<<" "<<u.num<<endl;
         for(int i=0;i<u.num;++i)
         {
             os<<u.r[i];
         }
    }
    /*
    操作类
    1.查询当前信息
    2.查询记录
    2.借还书
    3.续借
    4.添加记录
    */
    class Operate
    {
        vector<Book>b;
        vector<Book>::iterator it1;
        multimap<int,int>b1;
        multimap<int,int>::iterator b1p;
        multimap<string,int>b2;
        multimap<string,int>::iterator b2p;
        vector<User>u;
        vector<User>::iterator it;
        multimap<int,int>u1;
        multimap<int,int>::iterator u1p;
        multimap<string,int>u2;
        multimap<string,int>::iterator u2p;
        User user;
        public:
        public:
        Operate()
        {
            load1();
            load2();
        }
        ~Operate()
        {
            load1p();
            load2p();
        }
        void load1();//把文件中的数据读到vector里
        void load2();
        void load1p();//析构函数
        void load2p();
        void addOne();
        void addSome();//增加记录;
        void reBorrow();//修改时间
        void queryNow();
        void queryHistory();
    };
    void Operate::reBorrow()
    {
        cout<<"您的学号为\n";
        int id;
        cin>>id;
        cout<<"您想续借的书的序号为\n";
        int no;
        cin>>no;
        cout<<"您想更改的日期为\n";
        Time t;
        cin>>t;
        for(it=u.begin();it!=u.end();it++)
         {
             if(it->getId()==id)//找到这一个人
             {
                 if(it->getNowReborrow()>1)
                 {
                     cout<<"续借失败\n";
                     return;
                 }
                 it->addReborrow(1);
                 it->changeTime(no,t);
                 cout<<"修改成功\n";
             }
         }
    }
    void Operate::queryNow()
    {
        cout<<"您的学号为\n";
        int id;
        cin>>id;
        cout<<"请输入当今时间\n";
        Time t;
        cin>>t;
        for(it=u.begin();it!=u.end();it++)
         {
             if(it->getId()==id)
             it->queryTime(t);
         }
    }
    void Operate::queryHistory()
    {
        cout<<"您的学号为\n";
        int id;
        cin>>id;
        cout<<"您的记录为\n";
        for(it=u.begin();it!=u.end();it++)
         {
            if(it->getId()==id)
            {
                cout<<*it;
            }
         }
    }
    void Operate::addOne()
    {
        cout<<"您想借阅书的编号您的学号等信息\n";
        Record rr;
        Book bb;
        bool e=1;//判断
        cin>>rr;
        int no=rr.getNo();
        int id=rr.getId();
        if(rr.getType()=="J")//借书类型
        {
            for(it=u.begin();it!=u.end();it++)
             {
              if(it->getId()==id)
             {
                if(it->getNowBorrows()>10)
                {
                    e=0;
                    break;
                }
                cout<<"添加成功\n";
                u[it-u.begin()].addRecord(rr);
                u[it-u.begin()].addNowBorrowsJ(1);//该学生可借数量减1
              }
         }
        if(e==1)
        {
            for(it1=b.begin();it1!=b.end();it1++)
               {
                    if(it1->getNo()==no)
                        {
                            if(it1->getNowNumber()>0)
                            {
                                cout<<"添加成功\n";
                                b[it1-b.begin()].addRecord(rr);
                                b[it1-b.begin()].addBorrowsJ(1);//书的数量变化
                            }
                        }
               }
        }
      }
      if(rr.getType()=="H")//还书类型
      {
          for(it=u.begin();it!=u.end();it++)
            {
              if(it->getId()==id)
                {
                  cout<<"添加成功\n";
                  u[it-u.begin()].addRecord(rr);
                  u[it-u.begin()].addNowBorrowsH(1);//该学生可借数量减1
                }
            }
            for(it1=b.begin();it1!=b.end();it1++)
                 {
                    if(it1->getNo()==no)
                        {
                                cout<<"添加成功\n";
                                b[it1-b.begin()].addRecord(rr);
                                b[it1-b.begin()].addBorrowsH(1);//书的数量变化
                        }
                }
      }
    }
    void Operate::addSome()
    {
        while(1)
        {
            cout<<"您想借阅书的编号您的学号等信息,输入书号为0结束\n";
            Record rr;
        Book bb;
        bool e=1;//判断
        cin>>rr;
        if(rr.getNo()==0)break;
        int no=rr.getNo();
        int id=rr.getId();
        if(rr.getType()=="J")//借书类型
        {
            for(it=u.begin();it!=u.end();it++)
         {
            if(it->getId()==id)
            {
                if(it->getNowBorrows()>10)
                {
                    e=0;
                    break;
                }
                cout<<"添加成功\n";
                u[it-u.begin()].addRecord(rr);
                u[it-u.begin()].addNowBorrowsJ(1);//该学生可借数量减1
            }
         }
        if(e==1)
        {
            for(it1=b.begin();it1!=b.end();it1++)
               {
                    if(it1->getNo()==no)
                        {
                            if(it1->getNowNumber()>0)
                            {
                                cout<<"添加成功\n";
                                b[it1-b.begin()].addRecord(rr);
                                b[it1-b.begin()].addBorrowsJ(1);//书的数量变化
                            }
                        }
               }
        }
      }
      if(rr.getType()=="H")//还书类型
      {
          for(it=u.begin();it!=u.end();it++)
            {
              if(it->getId()==id)
                {
                  cout<<"添加成功\n";
                  u[it-u.begin()].addRecord(rr);
                  u[it-u.begin()].addNowBorrowsH(1);//该学生可借数量减1
                }
            }
            for(it1=b.begin();it1!=b.end();it1++)
                 {
                    if(it1->getNo()==no)
                        {
                                cout<<"添加成功\n";
                                b[it1-b.begin()].addRecord(rr);
                                b[it1-b.begin()].addBorrowsH(1);//书的数量变化
                        }
                }
      }
        }
    }
    void Operate::load1p()
    {
        ofstream outfileB("e:\\book.txt",ios::out);
        if(!outfileB)
        return;
        for(it1=b.begin();it1!=b.end();it1++)
        {
            outfileB<<*it1;
        }
        outfileB.close();


    }
    void Operate::load2p()
    {
        ofstream outfileS("e:\\student.txt",ios::out);
        if(!outfileS)
        return;
        for(it=u.begin();it!=u.end();it++)
        {
            outfileS<<*it;
        }
        outfileS.close();
    }
    void Operate::load1()
    {


        int i;
        Book bb;
        ifstream infile("e:\\book.txt",ios::in);
        if(!infile)
        return;
        b.clear();
        b1.clear();
        b2.clear();
        i=0;
        while(infile>>bb)
        {
            b.push_back(bb);
            b1.insert(make_pair(bb.getNo(),i));
            b2.insert(make_pair(bb.getName(),i));
            i++;
        }
        infile.close();
    }
    void Operate::load2()
    {
        cout<<"hello worldope!\n";
        int i;
        User uu;
        ifstream infile("e:\\student.txt",ios::in);
        if(!infile)
        return;
        u.clear();
        u1.clear();
        u2.clear();
        i=0;
        while(infile>>uu)
        {
            u.push_back(uu);
            u1.insert(make_pair(uu.getId(),i));
            u2.insert(make_pair(uu.getName(),i));
            i++;
        }
        infile.close();
    }


    /*void Operate::query()
    {
        cout<<"学生学号为\n";
        int id;
        cin>>id;
        for(it=u.begin();it!=u.end();it++)
        {
            if(u[it-u.begin()].getId()==id)
            cout<<*it<<endl;
        }


    }
    void Operate::reBorrow()
    {
        user.reBorrow();
    }*/
    /*
    管理员类
    1.增加学生图书信息
    2.删除学生图书信息
    3.修改学生图书信息
    4.查询学生图书信息
    */
    class Adm
    {
        vector<Book>b;
        vector<Book>::iterator it1;
        multimap<int,int>b1;
        multimap<int,int>::iterator b1p;
        multimap<string,int>b2;
        multimap<string,int>::iterator b2p;
        vector<User>u;
        vector<User>::iterator it;
        multimap<int,int>u1;
        multimap<int,int>::iterator u1p;
        multimap<string,int>u2;
        multimap<string,int>::iterator u2p;
        //对书集合和学生集合操作
        public:
        Adm()
        {
            load1();
            load2();
        }
        ~Adm()
        {
            load1p();
            load2p();
        }
        void load1();//把文件中的数据读到vector里
        void load2();
        void load1p();//析构函数
        void load2p();
        void addUser();//增加一个用户
        void addBook();
        void deletesU();//删除一个用户
        void deletesB();
        void queryIdS();//查询
        void queryIdB();
        void changeU();//修改
        void changeB();
    };
    void Adm::load1p()
    {
        ofstream outfileB("e:\\book.txt",ios::out);
        if(!outfileB)
        return;
        for(it1=b.begin();it1!=b.end();it1++)
        {
            outfileB<<*it1;
        }
        outfileB.close();
    }
    void Adm::load2p()
    {
        ofstream outfileS("e:\\student.txt",ios::out);
        if(!outfileS)
        return;
        for(it=u.begin();it!=u.end();it++)
        {
            outfileS<<*it;
        }
        outfileS.close();
    }
    void Adm::queryIdS()
    {
        cout<<"你想查询的学生学号为\n";
        User uu;
        int id;
        cin>>id;
        for(it=u.begin();it!=u.end();it++)
        {
            if(u[it-u.begin()].getId()==id)
            {
                cout<<*it;
                uu=*it;
            }
        }
    }
    void Adm::queryIdB()
    {
        cout<<"你想查询的书号为\n";
        Book bb;
        int id;
        cin>>id;
        for(it1=b.begin();it1!=b.end();it1++)
        {


            if(b[it1-b.begin()].getNo()==id)
            {
                cout<<*it1;
                bb=*it1;
            }
        }
    }
    void Adm::changeU()
    {
        cout<<"您想修改信息的学生的学号为\n";
        User uu;
        int id;
        cin>>id;
        for(it=u.begin();it!=u.end();it++)
        {
            if(u[it-u.begin()].getId()==id)
            {
                u.erase(it);
                u1.erase(id);//删除map内指定元素;
                cout<<"请重输\n";
                cin>>uu;
                u.insert(it,uu);
                cout<<"修改信息成功\n";
            }
        }
    }
    void Adm::changeB()
    {
        cout<<"您想修改信息的书的编号为\n";
        Book bb;
        int id;
        cin>>id;
        for(it1=b.begin();it1!=b.end();it1++)
        {
            if(b[it1-b.begin()].getNo()==id)
            {
                b.erase(it1);
                b1.erase(id);
                cout<<"请重输\n";
                cin>>bb;
                b.insert(it1,bb);
                cout<<"修改信息成功\n";
            }
        }
    }
    void Adm::deletesU()
    {
        cout<<"你想删除的学生学号为\n";
        int id;
        User uu;
        cin>>id;
        for(it=u.begin();it!=u.end();)
        {
            if(u[it-u.begin()].getId()==id)
            {
                it=u.erase(it);
                cout<<"删除成功\n";
            }
            else
            {
                it++;
            }
        }
    }
    void Adm::deletesB()
    {
        cout<<"您想删除的书的编号是\n";
        int id;
        Book bb;
        cin>>id;
        for(it1=b.begin();it1!=b.end();)
        {
            if(b[it1-b.begin()].getNo()==id)
            {
                it1=b.erase(it1);
                cout<<"删除成功\n";
            }
            /*
            删除部分
            普通办法会越界
            网上搜集资料
            */
            else
            {
                it1++;
            }
        }
    }
    void Adm::addUser()
    {
        cout<<"您想增加的用户信息为,学号输入为0结束\n";
        User uu;
        while(cin>>uu)
        {
            if(uu.getId()==0)break;
            u.push_back(uu);
            cout<<"增加用户信息成功\n";
        }
    };
    void Adm::addBook()
    {
        cout<<"您想增加的图书信息为:书名输入为E结束\n";
        Book bb;
        while(cin>>bb)
        {
            if(bb.getName()=="E")break;
            b.push_back(bb);
            cout<<"增加图书信息成功\n";
        }
    }
    void Adm::load1()
    {
        int i;
        Book bb;
        ifstream infile("e:\\book.txt",ios::in);
        if(!infile)
        return;
        b.clear();
        b1.clear();
        b2.clear();
        i=0;
        while(infile>>bb)
        {
            b.push_back(bb);
            b1.insert(make_pair(bb.getNo(),i));
            b2.insert(make_pair(bb.getName(),i));
            i++;
        }
        infile.close();
    }
    void Adm::load2()
    {
        int i;
        User uu;
        ifstream infile("e:\\student.txt",ios::in);
        if(!infile)
        return;
        u.clear();
        u1.clear();
        u2.clear();
        i=0;
        while(infile>>uu)
        {
            u.push_back(uu);
            u1.insert(make_pair(uu.getId(),i));
            u2.insert(make_pair(uu.getName(),i));
            i++;
        }
        infile.close();
    }
    int main()
    {
        Operate o;
        o.addOne();
        //o.queryHistory();
        //o.queryNow();
        //Adm a;
        //a.queryIdB();
        //a.queryIdS();
        //a.deletesU();
        //a.addUser();
        //a.addBook();
        //a.deletesB();
    }

    #include<bits/stdc++.h>
    using namespace std;
    class Time
    {
    public:
        Time(int year,int month,int day)
        {
            this->year=year;
            this->month=month;
            this->day=day;
        }
        Time()
        {
            year=0;
            month=0;
            day=0;
        }
        void setTime();
        int getYear(){return year;};
        int getMonth(){return month;};
        int getDay(){return day;};
        void show(){cout<<year<<" "<<month<<" "<<day;};
        friend ostream&operator<<(ostream&output,Time&t);
        friend istream&operator>>(istream&input,Time &t);
    private:
        int year;
        int month;
        int day;
    };
    ostream&operator<<(ostream&output,Time&t)
    {
        output<<t.year<<" "<<t.month<<" "<<t.day;
        return output;
    }
    istream&operator>>(istream&input,Time &t)
    {
        input>>t.year>>t.month>>t.day;
        return input;
    }
    void Time::setTime()
    {
        cin>>year>>month>>day;
    }
    class student
    {
    public:
        student(int id,string name,Time t,string lesson,int node,string type)
        {
            //后期先写time类,不用int time;
            this->id=id;
            this->name=name;
            this->t=t;
            this->lesson=lesson;
            this->node=node;
            this->type=type;
        }
        student()
        {//不写初始化的t;
            id=0;
            name="";
            lesson="";
            node=0;
            type="";
        }
    private:
        Time t;
        int id;
        string name;
        string lesson;
        int node;
        string type;
    };
    class operate//操作类
    {
    private:
        vector<student>p;
        student st;
        Time t;
    public:
        operate(){}
        operate(int id,string name,Time t,string lesson,int node,string type):st(id,name,t,lesson,node,type){}
        void input();//输入
        void inputs();
        void output();//输出
        void query();//查询
        void show();//输出所有信息
        void change();//修改
        void name();
        void lesson();
    };
    void operate::show()
    {
        cout<<"学生后勤管理系统"<<endl;
        cout<<"1-录入学生的缺课记录"<<endl;
        cout<<"2-修改某个学生的缺课记录"<<endl;
        cout<<"3-查询某个学生的缺课情况"<<endl;
        cout<<"4-统计 旷课学生姓名及旷课次数"<<endl;
        cout<<"5-统计 有学生旷课的课程及旷课人次"<<endl;
        cout<<"6-输出所有记录"<<endl;
        cout<<"7-退出系统"<<endl;
    }
    void operate::inputs()
    {
        int n;
        cin>>n;
        switch(n)
            {
            case 1://输入数据
                system("CLS");
                input();
                system("pause");
                break;
          /*  case 2:
                system("CLS");
                xiugai(myList);
                system("pause");
                break;
            case 3:
                system("CLS");
                chaxun(myList);
                system("pause");
                break;
            case 4:
                system("CLS");
                tongji1(myList);
                system("pause");
                break;
            case 5:
                system("CLS");
                tongji2(myList);
                system("pause");
                break;
            case 6:
                system("CLS");
                output(myList);
                system("pause");
            case 7:
                system("CLS");
                break;*/
            default:
                system("CLS");
                break;
            }
    }
    void operate::input()
    {
        string name;
        string lesson_name;
        int id;
        string type;
        int jieci;


        cout<<"请输入学号: "<<endl;
        cin>>id;
        cout<<"请输入姓名: "<<endl;
        cin>>name;
        cout<<"请输入时间: "<<endl;
        cin>>t;
        cout<<"请输入课程: "<<endl;
        cin>>lesson_name;
        cout<<"请输入节次: "<<endl;
        cin>>jieci;
        cout<<"请输入缺课类型:(1.迟到,2,旷课,3.请假) "<<endl;
        cin>>type;


        student stu(id,name,t,lesson_name,jieci,type);
        p.push_back(stu);
        cout<<"需要继续输入学生信息,输入1,否输入0"<<endl;
        int x;
        cin>>x;
        if(x==1)
        {
            show();
            inputs();
        }
    }
    int main()
    {
        operate op;//无参不加括号
        op.show();
        op.inputs();

    }



    #include<bits/stdc++.h>
    using namespace std;
    class Static
    {
        static int num;
        public:
        static int getNum(){return num;};
        static void setNum(int n){num=n;};
    };
    int Static::num=0;
    class Data
    {
        int year;
        int month;
        int day;
        public:
        Data(int x,int y,int z):year(x),month(y),day(z){}
        Data(){}
        int getYear(){return year;};
        int getMonth(){return month;};
        int getDay(){return day;};
        bool operator<(const Data&d)const
        {
            return year!=d.year?year<d.year:month!=d.month?month<d.month:day<d.day;
        }
        friend ostream&operator<<(ostream &os, const Data &d);
        friend istream&operator>>(istream &in, Data &d);
    };
    ostream&operator<<(ostream &os,const Data &d)
    {
        os<<d.year<<" "<<d.month<<" "<<d.day;
        return os;
    }
    istream&operator>>(istream &in,Data &d)
    {
        in>>d.year;
        while(1)
        {
            if(d.year>1000&&d.year<3000)
            break;
            else
            {
                cout<<"请重试";
                in>>d.year;
            }
        }
        in>>d.month;
        while(1)
        {
            if(d.month>0&&d.month<13)
            break;
            else
            {
                cout<<"请重试";
                in>>d.month;
            }
        }
        in>>d.day;
        while(1)
        {
            if(d.day>0&&d.day<32)
            break;
            else
            {
                cout<<"请重试";
                in>>d.day;
            }
        }
        return in;
    }
    class Record
    {
        string str;
        Data start;
        Data end;
        public:
        Record(string sr,Data s,Data e):str(sr),start(s),end(e){}
        Record(){}
        Data getDataS(){return start;};
        Data getDataE(){return end;};
        string getStr(){return str;};
        friend ostream&operator<<(ostream&os,const Record&r);
        friend istream&operator>>(istream&in,Record &r);
    };
    ostream&operator<<(ostream&os,const Record&r)
    {
        os<<r.str<<" "<<r.start<<" "<<r.end<<endl;
        return os;
    }
    istream&operator>>(istream&in,Record &r)
    {
        in>>r.str;
        if(r.str=="end")return in;
        in>>r.start>>r.end;
        return in;
    }
    struct cmp1
    {
        string str;
        cmp1(string s){str=s;};
        bool operator()(Record &r)
        {
            return (r.getStr().find(str)!=string::npos);
        }
    };
    struct cmp2
    {
        int m;
        cmp2(int num){m=num;};
        bool operator()(Record &r)
        {
            return (r.getDataS().getMonth()<m);
        }
    };
    class Demos
    {
        private:
        vector<Record>v;
        vector<Record>::iterator it;
        multimap<string,int>m1;
        multimap<string,int>::iterator m1p;
        multimap<Data,int>m2;
        multimap<Data,int>::iterator m2p;
        public:
        /*Demos()
        {load();}
        ~Demos()
        {
            save();
        }*/
        Demos(){}
        void Plus();//增加多条
        void dd(Record r1);
        void load();//读文件
        void save();
        int search1(string s);
        int search2(Data d);
        void deleteStr(string s);
        void display();
        void search3(string s);
        void search4(int m);
    }
    void Demos::dd(Record r1)
    {
        cout<<"ADD"<<endl;
        v.push_back(r1);
        int i=v.size();
        m1.insert(make_pair(r1.getStr(),i-1));
        m2.insert(make_pair(r1.getDataS(),i-1));
    }
    void Demos::Plus()
    {
        cout<<"ADD"<<endl;
        Record r;
        while(1)
        {
            cin>>r;
            if(r.getStr()=="end")break;
            v.push_back(r);
            int i=v.size();
            m1.insert(make_pair(r.getStr(),i-1));
            m2.insert(make_pair(r.getDataS(),i-1));
        }
    }
    void Demos::display()
    {
        cout<<Static::getNum()<<"Demo"<<endl;
        for(it=v.begin();it!=v.end();it++)
        {
            cout<<*it;
        }
    }
    int Demos::search1(string s)
    {
        m1p=m1.find(s);
        if(m1p!=m1.end())
        {
            cout<<"found"<<endl;
            return m1p->second;
        }
        else return -1;
    }
    int Demos::search2(Data d)
    {
        m2p=m2.find(d);
        if(m2p!=m2.end())
        {
            cout<<"found";
            return m2p->second;
        }
        else return -1;
    }
    void Demos::search3(string s)
    {
        it=find_if(v.begin(),v.end(),cmp1(s));
        while(it!=v.end())
        {
            cout<<"found";
            cout<<v[it-v.begin()]<<endl;
            it=find_if(it+1,v.end(),cmp1(s));
        }
    }
    void Demos::search4(int m)
    {
        it=find_if(v.begin(),v.end(),cmp2(m));
        while(it!=v.end())
        {
            cout<<"found";
            cout<<v[it-v.begin()]<<endl;
            it=find_if(it+1,v.end(),cmp2(m));


        }
    }
    void Demos::load()
    {
        Record r;
        int i;
        ifstream infile("d:\\Demo.txt",ios::in);
        if(!infile)
        return;
        v.clear();
        m1.clear();
        m2.clear();
        i=0;
        while(infile>>r)
        {
            v.push_back(r);
            m1.insert(make_pair(r.getStr(),i-1));
            m2.insert(make_pair(r.getDataS(),i-1));
            i++;


        }
        infile.close();
    }
    void Demos::save()
    {
        ofstream outfile("d:\\Demo.txt",ios::out);
        if(!outfile)
        {
            return;
        }
        for(it=v.begin();it!=v.end();it++)
        {
            outfile<<*it;
        }
        outfile.close();
    }
    int main()
    {
        Data d;
        cin>>d;
        cout<<d;
    }

    #include<bits/stdc++.h>
    using namespace std;
    class Time//时间类,包含年月日时
    {
        int year;
        int month;
        int day;
        int hour;
    public:
        Time(int x,int y,int z,int v):year(x),month(y),day(z),hour(v){}
        Time(){}
        int getYear(){return year;};
        int getMonth(){return month;};
        int getDay(){return day;};
        int getHour(){return hour;};
        bool operator<(const Time&d)const
        {
            return year!=d.year?year<d.year:month!=d.month?month<d.month:day!=d.day?day<d.day:hour<d.hour;
        }
        friend ostream&operator<<(ostream &os, const Time &d);
        friend istream&operator>>(istream &in, Time &d);
    };
    ostream&operator<<(ostream &os,const Time &d)
    {
        os<<d.year<<" "<<d.month<<" "<<d.day<<" "<<d.hour;
        return os;
    }
    istream&operator>>(istream &in,Time &d)
    {
        in>>d.year;
        while(1)
        {
            if(d.year>1000&&d.year<3000)
            break;
            else
            {
                cout<<"请输入正确时间"<<endl;
                in>>d.year;
            }
        }
        in>>d.month;
        while(1)
        {
            if(d.month>0&&d.month<13)
            break;
            else
            {
                cout<<"请输入正确时间"<<endl;
                in>>d.month;
            }
        }
        in>>d.day;
        while(1)
        {
            if(d.day>0&&d.day<32)
            break;
            else
            {
                cout<<"请输入正确时间"<<endl;
                in>>d.day;
            }
        }
        in>>d.hour;
        while(1)
        {
            if(d.hour>-1&&d.hour<25)
            break;
            else
            {
                cout<<"请输入正确时间"<<endl;
                in>>d.hour;
            }
        }
        return in;
    }
    class Book//书籍类
    {
        string name;
        string press;
        int no;
        int number;
        int borrow;
        int left;
    public:
        Book(string name1,int no1,string press1,int number1):name(name1),no(no1),press(press1),number(number1){}
        Book(){number=0;borrow=0;}
        string getName(){return name;};
        string getPress(){return press;};
        int getNo(){return no;};
        int getNumber(){return number;};
        int getLeft(){return left;};
        friend ostream&operator<<(ostream&os,const Book&b);
        friend istream&operator>>(istream&in,Book&b);
    };
    istream&operator>>(istream&in,Book&b)
    {
        in>>b.name>>b.no>>b.press>>b.number;
        return in;
    }
    ostream&operator<<(ostream&os,const Book&b)
    {
        os<<b.name<<" "<<b.no<<" "<<b.press<<" "<<b.number;
        return os;
    }
    class Record//一条记录对应一个人一本书
    {
        int id;
        string name;
        Time start;
        Time end;
        Book b;
        bool either;
        Time changeEnd;
    public:
        Record(int id1,Time t1,Time t2,Book B1,bool e);
        Record(){}
        int getId(){return id;};
        string getName(){return name;};
        Time getStart(){return start;};
        Time getEnd(){return end;};
        friend ostream&operator<<(ostream&os,const Record&r);
        friend istream&operator>>(istream&in,Record&r);

    };
    istream&operator>>(istream&in,Record&r)
    {
        in>>r.id>>r.name>>r.start>>r.end>>r.b;
        in>>r.either;
        if(r.either==1)
        {
            cin>>r.changeEnd;
            in>>r.changeEnd;
        }
        return in;
    }
    ostream&operator<<(ostream&os,const Record&r)
    {
        os<<"学号 姓名"<<endl<<r.id<<" "<<r.name<<endl<<"图书信息"<<endl<<r.b<<endl<<"开始时间"<<endl<<r.start<<endl<<"终止时间"<<endl<<r.changeEnd;
        return os;
    }
    Record::Record(int id1,Time t1,Time t2,Book b1,bool e)
    {
        id=id1;
        start=t1;
        end=t2;
        b=b1;
        either=e;
        end=changeEnd;
    }
    class User
    {
        string name;
        string classes;
        int id;
        int borrows;
        int nowBorrows;
        bool breaks;
        vector<Record>u;
        vector<Record>::iterator it;
        multimap<int,int>m1;
        multimap<int,int>::iterator m1p;
        multimap<string,int>m2;
        multimap<int,int>::iterator m2p;
    public:
        User(){}
       
    };
    int main()
    {
        /*Time t;
        cin>>t;
        cout<<t;
        Book b;
        cin>>b;
        cout<<b;
        Record r;
        cin>>r;
        cout<<r;*/

    }

    
    展开全文
  • 学生考勤管理系统,可以对学生的迟到等进行记录,还可以对学生的信息进行增删改查功能
  • C++ 学生考勤管理系统 课程名称:C++程序设计课程设计 设计题目:学生考勤管理系统 已知技术参数和设计要求: 1. 问题描述: 在学生考勤管理系统中,考勤信息记录了学生的缺课情况,它包括:缺课日期、第...
  • 源代码 学生考勤管理系统 C++ 课程设计的源代码
  • 信 阳 师 范 学 院 课 程 设 计 课 程 C++程序设计 题 目 学生考勤信息管理系统 院 系 计算机与信息技术学院 专业班级 2013 级软件工程 学生姓名 学生学号 指导教师 20 16 年 1 月2 日 课程设计成绩评价表 课程名称 ...
  • 信 阳 师 范 学 院 课 程 设 计 课 题 院 程 目 系 C++程序设计 学生考勤信息管理系统 计算机与信息技术学院 专业班级 学生姓名 学生学号 指导教师 2013级软件工程 2016年 1月2 日 课程设计成绩评价表 课程名称 C++...
  • C++课程设计,学生考勤管理系统,英文的
  • C++课程设计 学生考勤管理系统 录入学生的缺课记录; 修改某个学生的缺课记录; 查询某个学生的缺课情况; 统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序; 统计某段时间内,有学生旷课的...
  • 实现一个学生考勤管理系统 录入学生的缺课记录; 修改某个学生的缺课记录; 查询某个学生的缺课情况; 统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序; 统计某段时间内,有学生旷课的课程...
  • C++实现学生考勤信息管理系统
  • C++编写的一个学生考勤管理系统,可以输入、修改和查询某个学生的缺课情况
  • c++学生考勤信息管理系统 有代码 图 很全
  • Visual C++练习-学生考勤管理系统

    热门讨论 2009-11-10 23:14:00
    题目:学生考勤管理系统 考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续多节课用 begin-end 的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。试...
  • c++课程设计报告报告学生考勤管理系统报告.doc
  • 功能要求:试设计一考勤管理系统,使之能提供以下功能:  录入学生的缺课记录;  修改某个学生的缺课记录;  查询某个学生的缺课情况;  统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少...
  • 学生考勤管理系统中,考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。系统功能包括信息录入、修改、查询、统计等。 功能要求: 录入学生的...
  • 学生考勤管理系统,实现学生的考勤情况,包括记录学生缺课情况,查询、修改、删除学生缺课记录以及统计某时间段内旷课情况
  • C++课设 录入、修改、查询某个学生的缺课情况; 统计某段时间内,旷课学生姓名及旷课次数,按旷课次数由多到少排序; 统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序; 保存功能:可将...
  • 学生考勤管理系统.zip

    2020-04-01 19:00:14
    语言:c++ 有注释,需要自己添加学生考勤名单文本,欢迎下载。
  • 设计一个考勤管理系统。 功能要求: 1.信息录入功能,提示用户逐项输入学生信息,并检查输入信息的合法性(如时、分、秒的取值范围),同时以分为单位计算每位同学的学习时间; 2.考勤信息浏览功能,显示所有人的考勤...

    功能描述:某实验室对学生每天的学习时间进行管理,记录其到达时间和其离开时间。两个时间之间的时间段作为其当天的学习时间。设计一个考勤管理系统。
    功能要求:
    1.信息录入功能,提示用户逐项输入学生信息,并检查输入信息的合法性(如时、分、秒的取值范围),同时以分为单位计算每位同学的学习时间;
    2.考勤信息浏览功能,显示所有人的考勤情况;
    3.排序功能,按学习时间长短进行排序并显示
    4.使用菜单选择操作,方便用户查看不同任务的解决方法以及结果;
    5.将处理后的数据信息保存到data.txt文件中。

    // 学生考勤管理系统课程设计
    #include<iostream>
    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <vector>
    #include<fstream>
    #include<algorithm>
    #include<iomanip>
    using namespace std;
    
    class Student {
    protected:
        string name;             //姓名
        string number;           //学号
        int    reachHour;        //签到小时
        int    reachMinute;       //签到分钟
        int    reachSecond;      //签到秒数
        int    leaveHour;      //签退小时
        int    leaveMinute;    //签退分钟
        int    leaveSecond;    //签退秒数
        int    time;          //学习时长 
        int    rank;          //排名
    public:
        static int count;//总人数
        /*构造函数
        初始化变量*/
        Student(){
           //构造函数对数据成员初始化
            name = " ";
            number = " ";
            reachHour  =0;
            reachMinute=0;
            reachSecond=0;
            leaveHour=0;
            leaveMinute=0;
            leaveSecond=0;
            time=0;
            rank=0;
        }
        //设置信息函数
        bool set_name         (string);
        bool set_number      (string);
        bool set_reachHour    (int);
        bool set_reachMinute  (int);
        bool set_reachSecond  (int);
        bool set_leaveHour    (int);
        bool set_leaveMinute  (int);
        bool set_leaveSecond  (int);
        bool set_time     (int);
        bool set_rank         (int);
        //获取信息函数
        string get_name();
        string get_number();
        int    get_reachHour();
        int    get_reachMinute();
        int    get_reachSecond();
        int    get_leaveHour();
        int    get_leaveMinute();
        int    get_leaveSecond();
        int    get_time();
        int    get_rank();
    };
    int Student::count = 0;
    //显示菜单函数
    void ShowInterface() {
        cout <<"显示内容"<< endl;
        cout << endl;
        cout << "********考勤管理系统统计********" << endl;
        cout << " " << "请输入相应字母执行功能!" << endl;
        cout << " " << "L:信息录入(Log in)" << endl;
        cout << " " << "O:输出(Output)" << endl;
        cout << " " << "E:退出(Exit)" << endl;
        cout << "********************************" << endl;
        cout << endl;
        cout << endl;
    }
    //登记信息函数
    Student* Registration() {
        Student* pall = new Student[100]; //定义一个全局指针对象并动态分配空间
        Student* temp; //定义动态空间对象
        string info;
        int timeIn = NULL;
        temp = new Student;
        cout << "输入学号" << endl;
        cin >> info;//输入参数
        temp->set_number(info);
        cout << "输入姓名" << endl;
        cin >> info;//输入参数
        temp->set_name(info);
        cout << "***到达时间(按提示依次录入时,分,秒)***" << endl;
        cout << "到达整点" << endl;
        cin >> timeIn;//输入参数
        if (timeIn >= 0 && timeIn < 24) {
            temp->set_reachHour(timeIn);
        }
        else {
            cout << "输入有误,请重新输入" << endl;
            cin >> timeIn;
            temp->set_reachHour(timeIn);
        }
    
        cout << "到达分钟" << endl;
        cin >> timeIn;
        if (timeIn >= 0 && timeIn < 60) {
            temp->set_reachMinute(timeIn);
        }
        else {
            cout << "输入有误,请重新输入" << endl;
            cin >> timeIn;
            temp->set_reachMinute(timeIn);
        }
        cout << "到达秒数" << endl;
        cin >> timeIn;
        if (timeIn >= 0 && timeIn < 60) {
            temp->set_reachSecond(timeIn);
        }
        else
        {
            cout << "输入有误,请重新输入" << endl;
            cin >> timeIn;
            temp->set_reachSecond(timeIn);
        }
    
        cout << "***离开时间(按提示依次录入时,分,秒)***" << endl;
        cout << "离开整点" << endl;
        cin >> timeIn;
        if (timeIn >= 0 && timeIn < 24) {
            temp->set_leaveHour(timeIn);
        }
        else {
            cout << "输入有误,请重新输入" << endl;
            cin >> timeIn;
            temp->set_leaveHour(timeIn);
        }
    
        cout << "离开分钟" << endl;
        cin >> timeIn;
        if (timeIn >= 0 && timeIn < 60) {
            temp->set_leaveMinute(timeIn);
        }
        else {
            cout << "输入有误,请重新输入" << endl;
            cin >> timeIn;
            temp->set_leaveMinute(timeIn);
        }
        cout << "离开秒数" << endl;
        cin >> timeIn;
        if (timeIn >= 0 && timeIn < 60) {
            temp->set_leaveSecond(timeIn);
        }
        else
        {
            cout << "输入有误,请重新输入" << endl;
            
            cin >> timeIn;
            temp->set_leaveSecond(timeIn);
        }
        
        
        cout << endl << "信息录入成功=^_^=" << endl;
        
        return temp;
    }
    
    void ResearchTime(Student* temp) {
    
        int reschT = (((temp->get_leaveHour()) * 60 + temp->get_leaveMinute()-(temp->get_reachHour()) * 60 + temp->get_reachMinute()));
        temp->set_time(reschT);
        int i = 0;
        i += 1;
        temp->set_rank(i);
    
    }
    void Sort() {
        Student* pall = new Student[100]; //定义一个全局指针对象并动态分配空间
        int count = Student::count;
        Student temp;
        //算法:选择排序法
        for (int i = 0; i < count; i++) {
            for (int j = 0; j < count; j++) {
                if (pall[i].get_time() < pall[j].get_time()) {
                    temp = pall[i];
                    pall[i] = pall[j];
                    pall[j] = temp;
    
                }
            }
    
        }
    }
    void save(Student* temp) {
        ofstream os;//输出文件流操作对象
    
        os.open("data.txt", ios::app); //以追加的方式建立并打开文件“data.txt”
        os << endl;
        Sort();
        os << setw(2) << "学生学号:" << temp->get_number() << endl;
        os << setw(2) << "学生姓名:" << temp->get_name() << endl;
        os << setw(2) << "签到时间:" << setw(2) << setfill('0') << temp->get_reachHour();
        os << ":" << setw(2) << setfill('0') << temp->get_reachMinute() << ":";
        os << setw(2) << setfill('0') << temp->get_reachSecond() << endl;
        os << setw(2) << "签退时间:" << setw(2) << setfill('0') << temp->get_leaveHour();
        os << ":" << setw(2) << setfill('0') << temp->get_leaveMinute() << ":";
        os << setw(2) << setfill('0') << temp->get_leaveSecond() << endl;
        os << setw(2) << "学习时长:" << temp->get_time() << endl;
        os << setw(2) << "时间排名:" << temp->get_rank() << endl;
        temp++; //一个对象输出完成后,使对象指针指向下一个对象
        os.close();//关闭文件
    
    }
    void show() {
    
       
        filebuf* pbuf;
        ifstream is;
        long size;
        char* buffer;
        if (!is) {
            cout << "读取不到" << endl;
        }
        //采用二进制读取整个文件
        is.open("data.txt", ios::binary);
        Sort();
        // 获取filestr对应buffer对象的指针   
        pbuf = is.rdbuf();
        // 调用buffer对象方法获取文件大小  
        size = pbuf->pubseekoff(0, ios::end, ios::in);
        pbuf->pubseekpos(0, ios::in);
        // 分配内存空间  
        buffer = new char[size];
        // 获取文件内容  
        pbuf->sgetn(buffer, size);
        is.close();
        // 输出到标准输出  
        cout.write(buffer, size);
        delete[]buffer;
        
      /*
      Student* pall = new Student[100]; //定义一个全局指针对象并动态分配空间
       int count = Student::count;
       Sort();
       for (int  i = 0; i < count; i++)
       {
           cout << pall[i].get_number() << "    " << pall[i].get_name() << "    ";
           cout << pall[i].get_reachHour() << ":" << pall[i].get_reachMinute() << ":" 
                << pall[i].get_reachSecond() << "      ";
    
           cout << pall[i].get_leaveHour() << ":" << pall[i].get_leaveMinute() << ":" 
                << pall[i].get_leaveSecond() << "  " << pall[i].get_time()  << "  ";
           cout << i + 1 << endl; //显示对象的排名即排名多少第几次输出
       }
        */
    
    }
    
    int main()
    {
        Student s;
        Student* temp = NULL;
        int i = 1;
        char input = 'e';
        input = 'i';
        while (input != 'e') {
            ShowInterface();
            cin >> input;
            input = tolower(input);//大写转义为小写
            switch (input)
            {
            case 'l':
                cout << "信息录入:" << endl;
                temp = Registration();
                ResearchTime(temp);
                save(temp);
                break;
            case 'o':
                show();
                cout << endl << "信息读取成功^_^按提示信息进行其他操作" << endl;
                break;
            case'e':
                cout << "谢谢使用,再见!" << endl;
                system("pause");
                exit(0);
                break;
            default:
                cout << "输入有误" << endl;
                break;
            }
    
        }
       system("pause");
        return 0;
    }
    
    bool Student::set_name(string a)
    {
        name = a;
        count++;
        return true;
    }
    
    bool Student::set_number(string b)
    {
        number = b;
        return true;
    }
    
    bool Student::set_reachHour(int c)
    {
        reachHour = c;
        return true;
    }
    
    bool Student::set_reachMinute(int d)
    {
        reachMinute = d;
        return true;
    }
    
    bool Student::set_reachSecond(int e)
    {
        reachSecond = e;
        return true;
    }
    
    bool Student::set_leaveHour(int f)
    {
        leaveHour = f;
        return true;
    }
    
    bool Student::set_leaveMinute(int g)
    {
        leaveMinute = g;
        return true;
    }
    
    bool Student::set_leaveSecond(int h)
    {
        leaveSecond = h;
        return true;
    }
    
    bool Student::set_time(int i)
    {
        time = i;
        return true;
    }
    
    bool Student::set_rank(int j)
    {
        rank = j;
        return true;
    }
    
    string Student::get_name()
    {
        return name;
    }
    
    string Student::get_number()
    {
        return number;
    }
    
    int Student::get_reachHour()
    {
        return reachHour;
    }
    
    int Student::get_reachMinute()
    {
        return reachMinute;
    }
    
    int Student::get_reachSecond()
    {
        return reachSecond;
    }
    
    int Student::get_leaveHour()
    {
        return leaveHour;
    }
    
    int Student::get_leaveMinute()
    {
        return leaveMinute;
    }
    
    int Student::get_leaveSecond()
    {
        return leaveSecond;
    }
    
    int Student::get_time()
    {
        return time;
    }
    
    int Student::get_rank()
    {
        rank = count;
        return rank;
    }
    
    
    展开全文
  • 学生考勤管理系统 考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。试设计一考勤管理系统,使之能提供以下功能: 1.录入学生的缺课记录; ...
  • 这个文件包括学生管理系统学生考勤系统、酒店点菜系统(含源码和文档),可以参考一下源代码哦
  • 学生考勤管理系统

    2014-01-13 17:35:24
    学生考勤管理系统源代码
  • 学生考勤管理系统.rar

    2019-05-17 13:34:21
    计算机专业,c++课程设计大作业。该压缩包内有源代码、课程设计文档。运行环境vc6.0
  • C++语言写的,控制台模式的,本人亲写,可用来略作借鉴,保证完整可运行

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 394
精华内容 157
关键字:

学生考勤管理系统c++

c++ 订阅