C++实现考勤管理系统

Angie ·
更新时间:2024-11-15
· 1126 次阅读

本文实例为大家分享了C++实现考勤管理系统的具体代码,供大家参考,具体内容如下

设计一考勤管理系统,记录学生的缺课情况

1、设计学生类;
2、设计课程类;
3、设计考勤类;
4、录入学生的缺课情况;
5、修改某个学生的缺课情况;
6、查询某个学生的缺课情况;
7、统计一段时间内,旷课学生的名单和次数

仅供参考,尚有不足,请多多指正!

#include <iostream> #include <cstring> using namespace std; class Student {     public:         void setname(char *setname)         {                 strcpy(name,setname);         }         void setcarname(char *setcarname)         {             strcpy(carname,setcarname);         }         void setseating_capacity(char *setseating_capacity)         {             strcpy(seating_capacity,setseating_capacity);         }         void setidentifynumber(char *setidentifynumber)         {             strcpy(identifynumber,setidentifynumber);         }          char *getname()         {             char *setname=name;             return setname;         }         char *getcarname()         {             char *setcarname=carname;             return setcarname;         }         char *getsetseating_capacity()         {             char *setseating_capacity=seating_capacity;             return setseating_capacity;         }         char *getidentifynumber()         {             char *setidentifynumber=identifynumber;             return setidentifynumber;         }     private:         char name[30];         char carname[30];         char seating_capacity[30];         char identifynumber[30]; }; class Course:public Student {     public:         void setcoursename(char *setcoursename)         {             strcpy(coursename,setcoursename);         }         void setcoursetime(char *setcoursetime)         {             strcpy(coursetime,setcoursetime);         }          void setcourseplace(char *setcourseplace)         {             strcpy(courseplace,setcourseplace);         }         char *getcoursename()         {             char *setcoursename;             setcoursename=coursename;             return setcoursename;         }         char *getcoursetime()         {             char *setcoursetime;             setcoursetime=coursetime;             return setcoursetime;         }         char *getcourseplace()         {             char *setcourseplace;             setcourseplace=courseplace;             return setcourseplace;         }     private:         char coursename[30];         char coursetime[30];         char courseplace[30]; };  class Attendence:public Course {     public:         void setattendence(int setattendence)         {             int i=0;             attendence[i]=setattendence;             i++;         }         int *getattendence()         {             int *setattendence;             setattendence=attendence;             return setattendence;         }     private:         int attendence[30]; }; int input(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[]); int modify(Student i[],Course cn[],Course ct[],Course cp[],Attendence attendence[],int totalnumber); int search(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber); int statistic(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber); void bubble(int arr[],int len); Student n[20]; Student i[20]; Course cn[20]; Course ct[20]; Course cp[20]; Attendence a[20]; int totalnumber=0; char name[30]; char identifynumber[30]; char coursename[30]; char coursetime[30]; char courseplace[30]; int attendence; int array[30]; int att[30]; int main()  {     while(1)     {         cout<<"---------吉林大学珠海学院---------\n"             <<"         学生考勤管理系统\n\n"             <<"      1.录入学生缺课信息\n"             <<"      2.修改学生缺课记录\n"             <<"      3.查询学生缺课情况\n"             <<"      4.统计一段时间内学生旷课情况\n"             <<"      5.退出系统\n\n"             <<"------------------------------"<<endl;         int num;         for(;;)         {             cout<<"请选择需要执行的功能序号(1-5):";             cin>>num;             if(num>=1&&num<=5)                 break;             else                 continue;         }         cout<<endl;         switch(num){             case 1:{                 input(n,i,cn,ct,cp,a);                 break;             }             case 2:{                 modify(i,cn,ct,cp,a,totalnumber);                 break;             }             case 3:{                 search(n,i,cn,ct,cp,a,totalnumber);                 break ;             }             case 4:{                 statistic(n,i,cn,ct,cp,a,totalnumber);                 break;             }             case 5:exit(0);          }     }     } int input(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[]) {     cout<<"----------请开始输入----------\n";         cout<<"请输入将录入系统的人数:";          cin>>totalnumber;         cout<<endl;     for(int counter=0;counter<totalnumber;counter++)     {         cout<<"学生姓名:";         cin>>name;          n[counter].setname(name);         cout<<"学生学号:";         cin>>identifynumber;         i[counter].setidentifynumber(identifynumber);         cout<<"课程名称:";         cin>>coursename;         cn[counter].setcoursename(coursename);         cout<<"课程时间(星期几,第几节课):";         cin>>coursetime;         ct[counter].setcoursetime(coursetime);         cout<<"课程地点:";         cin>>courseplace;         cp[counter].setcourseplace(courseplace);         cout<<"缺课次数:";         cin>>attendence;         a[counter].setattendence(attendence);         array[counter]=attendence;         cout<<'\n';     }     return 1; } int modify(Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber) {     int inputnumber;     do{         char id[8];         cout<<"请输入学生学号:";         cin>>id;         cout<<endl;         if(1)         {             for(int counter=0;counter<totalnumber;counter++)             {                 if(strcmp(id,i[counter].getidentifynumber())==0)                 {                     int num;                     cout<<"请选择需要修改信息的种类:"                         <<"\n1.课程名称\n"                         <<"2.课程时间\n"                         <<"3.课程地点\n"                         <<"4.缺课次数\n";                     for(;;)                     {                         cout<<"请输入需要修改信息的代号(1-4):";                         cin>>num;                         if(num>=1&&num<=4)                             break;                         else                             continue;                     }                      cout<<endl;                     switch(num){                         case 1:{                             cout<<"请输入修改后的课程名称:";                              cin>>coursename;                             cn[counter].setcoursename(coursename);                             cout<<'\n';                             break;                         }                         case 2:{                             cout<<"请输入修改后的课程时间(星期几,第几节课):";                             cin>>coursetime;                             ct[counter].setcoursetime(coursetime);                             cout<<'\n';                             break;                         }                         case 3:{                             cout<<"请输入修改后的课程地点:";                             cin>>courseplace;                             cp[counter].setcourseplace(courseplace);                             cout<<'\n';                             break;                         }                         case 4:{                             cout<<"请输入修改后的缺课次数:";                             cin>>attendence;                             a[counter].setattendence(attendence);                             array[counter]=attendence;                             cout<<'\n';                             break;                         }                     }                 }             }          }         else         {             cout<<"无该学生缺课信息!\n"                 <<"请再次确认输入学号无误\n\n";         }         for(;;)         {             cout<<"重新查询请输入1|返回目录请输入0\n";              cin>>inputnumber;             if(inputnumber==1||inputnumber==0)                 break;             else                 continue;         }     }while(inputnumber==1);     return 1; } int search(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber) {     int inputnumber;     do{         char ids[8];         char *identify=ids;         cout<<"请输入学生学号:";         cin>>ids;         cout<<endl;         strcpy(ids,identify);         if(1)         {             for(int counter=0;counter<totalnumber;counter++)             {                 if(strcmp(ids,i[counter].getidentifynumber())==0)                 {                     cout<<"学生姓名:"<<n[counter].getname()                         <<"\n学生学号:"<<i[counter].getidentifynumber()                         <<"\n缺课课程名称:"<<cn[counter].getcoursename()                         <<"\n缺课课程日期:"<<ct[counter].getcoursetime()                         <<"\n缺课时间:"<<cp[counter].getcourseplace()                         <<"\n缺课次数:"<<*a[counter].getattendence()<<"\n";                 }             }         }         else             cout<<"无该同学数据";                  break;         cout<<'\n'<<endl;         for(;;)         {             cout<<"重新查询请输入1|返回目录请输入0\n\n";             cin>>inputnumber;             if(inputnumber==0||inputnumber==1)                 break;             else                 continue;         }     }while(inputnumber==1);     return 1; } int statistic(Student n[],Student i[],Course cn[],Course ct[],Course cp[],Attendence a[],int totalnumber) {     int inputnumber;     for(int index=0;index<30;index++)         att[index]=index;     if(totalnumber==0)     cout<<"数据库无信息\n\n";     else if(totalnumber==1)     cout<<"学生姓名:"<<n[0].getname()         <<"\n学生学号:"<<i[0].getidentifynumber()         <<"\n缺课课程名称:"<<cn[0].getcoursename()         <<"\n缺课课程日期:"<<ct[0].getcoursetime()         <<"\n缺课时间:"<<cp[0].getcourseplace()         <<"\n缺课次数:"<<*a[0].getattendence()<<"\n\n";     else if(1)     {         for(int counter=0;counter<totalnumber;counter++)         {             if(a[counter].getattendence()<a[counter].getattendence()+1)             {                 bubble(array,totalnumber);             }             else if(a[counter].getattendence()==a[counter+1].getattendence())             {                 if(strcmp(i[counter].getidentifynumber(),i[counter+1].getidentifynumber())>0)                 {                     int temp;                     int a=counter;                     int b=counter+1;                     temp=a;                     a=b;                     b=temp;                 }             }         }         for(int index=0;index<totalnumber;index++)         {             cout<<"学生姓名:"<<n[att[index]].getname()                 <<"\n学生学号:"<<i[att[index]].getidentifynumber()                 <<"\n缺课课程名称:"<<cn[att[index]].getcoursename()                 <<"\n缺课课程日期:"<<ct[att[index]].getcoursetime()                 <<"\n缺课时间:"<<cp[att[index]].getcourseplace()                 <<"\n缺课次数:"<<*a[att[index]].getattendence()<<"\n\n";         }     }     cout<<"返回目录请输入0\n";     cin>>inputnumber;     if(inputnumber==0)         return 1; } void bubble(int arr[],int len) {     int i,j,temp;     int t;     for(i=0;i<len-1;i++)     {         for(j=0;j<len-1-i;j++)         {             if(arr[j]<arr[j+1])             {                 temp=arr[j];                 arr[j]=arr[j+1];                 arr[j+1]=temp;                     t=att[j];                 att[j]=att[j+1];                 att[j+1]=t;              }         }     } }



C++ 系统 c+ 考勤管理系统

需要 登录 后方可回复, 如果你还没有账号请 注册新账号