本文实例为大家分享了c++实现考勤管理系统的具体代码,供大家参考,具体内容如下
设计一考勤管理系统,记录学生的缺课情况
1、设计学生类;
2、设计课程类;
3、设计考勤类;
4、录入学生的缺课情况;
5、修改某个学生的缺课情况;
6、查询某个学生的缺课情况;
7、统计一段时间内,旷课学生的名单和次数
仅供参考,尚有不足,请多多指正!
#include <iostream>#include <cstring>using namespace std;class student{ public: void tname(char *tname) { strcpy(name,tname); } void pointtcarname(char *tcarname) { strcpy(carname,tcarname); } void tating_capacity(char *tating_capacity) { strcpy(ating_capacity,tating_capacity); } void tidentifynumber(char *tidentifynumber) { strcpy(identifynumber,tidentifynumber); } char *getname() { char *tname=name; return tname; } char *getcarname() { char *tcarname=carname; return tcarname; } char *gettating_capacity() { char *tating_capacity=ating_capacity; return tating_capacity; } char *getidentifynumber() { char *tidentifynumber=identifynumber; return tidentifynumber; } private: char name[30]; char carname[30]; char ating_capacity[30]; char identifynumber[30];};class cour:public student{ public: void tcourname(char *tcourname) { strcpy(courname,tcourname); } void tcourtime(char *tcourtime) { strcpy(courtime,tcourtime); } void tcourplace(char *tcourplace) { strcpy(courplace,tcourplace); } char *getcourname() { char *tcourname; tcourname=courname; return tcourname; } char *getcourtime() { char *tcourtime; tcourtime=courtime; return tcourtime; } char *getcourplace() { char *tcourplace; tcou善行无辙迹rplace=courplace; return tcourplace; } private: char courname[30]; char courtime[30]; char courplace[30];};class attendence:public cour{ public: void tattendence(int tattendence) { int i=0; attendence[i]=tattendence; i++; } int *getattendence() { int *tattendence; tattendence=attendence; return tattendence; } private: int attendence[30];};int input(student n[],student i[],cour cn[],cour ct[],cour cp[],attendence a[]);int modify(student i[],cour cn[],cour ct[],cour cp[],attendence attendence[],int totalnumber);int arch(student n[],student i[],cour cn[],cour ct[],cour cp[],attendence a[],int totalnumber);int statistic(student n[],student i[],cour cn[],cour ct[],cour cp[],attendence a[],int totalnumber);void bubble(int arr[],int len);student n[20];student i[20];cour cn[20];cour ct[20];cour cp[20];attendence a[20];int totalnumber=0;char name[30];char identifynumber[30];char courname[30];char courtime[30];char courplace[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; el continue; } cout<<endl; switch(num){ ca 1:{ input(n,i,cn,ct,cp,a); break; } ca 2:{ modify(i,cn,ct,cp,a,totalnumber); break; } ca 3:{ arch(n,i,cn,ct,cp,a,totalnumber); break ; } ca 4:{ statistic(n,i,cn,ct,cp,a,totalnumber); break; } ca 5:exit(0); } } }int input(student n[],student i[],cour cn[],cour ct[],cour cp[],attendence a[]){ cout<<"----------请开始输入----------\n"; cout<<"请输入将录入系统的人数:"; cin>>totalnumber; cout<<endl; for(int counter=0;counter<totalnumber;counter++) { cout<<"学生姓名:"; cin>>name; n[counter].tname(name); cout<<"学生学号:"; cin>>identifynumber; i[counter].tidentifynumber(identifynumber); cout<<"课程名称:"; cin>>courname; cn[counter].tcourname(courname); cout<<"课程时间(星期几,第几节课):"; cin>>courtime; ct[counter].tcourtime(courtime); cout<<"课程地点:"; cin>>courplace; cp[counter].tcourplace(courplace); cout<<"缺课次数:"; cin>>attendence; a[counter].tattendence(attendence); array[counter]=attendence; cout<<'\n'; } return 1;}int modify(student i[],cour cn[],cour ct[],cour c许地山落花生p[],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; el continue; } cout<<endl; switch(num){ ca 1:{ cout<<"请输入修改后的课程名称:"; cin>>courname; cn[counter].tcourname(courname); cout<<'\n'; break; } ca 2:{ cout<<"请输入修改后的课程时间(星期几,第几节课):"; cin>>courtime; ct[counter].tcourtime(courtime); cout<<'\n'; break; } ca 3:{ cout<<"请输入修改后的课程地点:"; cin>>courplace; cp[counter].tcourplace(courplace); cout<<'\n'; break; } ca 4:{ cout<<"请输入修改后的缺课次数:"; cin>>attendence; a[counter].tattendence(attendence); array[counter]=attendence; cout<<'\n'; break; } } } } } el { cout<<"无该学生缺课信息!\n" <<"请再次确认输入学号无误\n\n"; } for(;;) { cout<<"重新查询请输入1|返回目录请输入0\n"; cin>>inputnumber; if(inputnumber==1||inputnumber==0) break; el continue; } }while(inputnumber==1); return 1;}int arch(student n[],student i[],cour cn[],cour ct[],cour 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].getcourname() <<"\n缺课课程日期:"<<ct[counter].getcourtime() <<"\n缺课时间:"<<cp[counter].getcourplace() <<"\n缺课次数:"<<*a[counter].getattendence()<<"\n"; } } } el cout<<"无该同学数据"; break; cout<<'\n'<<endl; for(;;) { cout<<"重新查询请输入1|返回目录请输入0\n\n"; cin>>inputnumber; if(inputnumber==0||inputnumber==1) break; el continue; } }while(inputnumber==1); return 1;}int statistic(student n[],student i[],cour cn[],cour ct[],cour cp[],attendence a[],int totalnumber){ int inputnumber; for(int index=0;index<30;index++) att[index]=index; if(totalnumber==0) cout<<"数据库无信息\n\n"; el if(totalnumber==1) cout<<"学生姓名:"<<n[0].getname() <<"\n学生学号:"<<i[0].getidentifynumber() <<"\n缺课课程名称:"<<cn[0].getcourname() <<"\n缺课课程日期:"<<ct[0].getcourtime() <<"\n缺课时间:"<<cp[0].getcourplace() <<"\n缺课次数:"<<*a[0].getattendence()<<"\n\n"; el if(1) { for(int counter=0;counter<totalnumber;counter++) { if(a[counter].getattendence()<a[counter].getattendence()+1) { bubble(array,totalnumber); } el 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]].getcourname() <<"\n缺课课程日期:"<<ct[att[index]].getcourtime() <<"\n缺课时间:"<<cp[att[index]].getcourplace() <<"\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; } } }}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-06 04:08:26,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/100c7c6e9564fe789a87af32f891cff4.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:C++实现考勤管理系统.doc
本文 PDF 下载地址:C++实现考勤管理系统.pdf
留言与评论(共有 0 条评论) |