学生考勤管理系统源代码_第1页
学生考勤管理系统源代码_第2页
学生考勤管理系统源代码_第3页
学生考勤管理系统源代码_第4页
学生考勤管理系统源代码_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include<iostream>#include<cstring>#include<windows.h>usingnamespacestd;classtime{public:time(inty=0,intm=0,intd=0){year=y;month=m;day=d;}~time(){}protected:intyear,month,day;};//信息类classxinxi:publictime{public:xinxi(){tiaoshu++;}~xinxi(){tiaoshu--;}voidsetname(char*n){strcpy(name,n);}voidsettime(inty,intm,intd){year=y;month=m;day=d;}voidsetqklx(char*qk){strcpy(queke,qk);}voidsetjieci(char*jc){strcpy(jieci,jc);}voidsetkechen(char*kc){strcpy(kechen,kc);}char*getname(){char*n;n=name;returnn;}char*getqklx(){char*qk=queke;returnqk;}char*getjieci(){char*jc;jc=jieci;returnjc;}char*getkechen(){char*gk;gk=kechen;returngk;}int*gettime();private:charname[20];//姓名charjieci[3],kechen[10],queke[10];inttm[3];staticinttiaoshu;};intxinxi::tiaoshu=0;int*xinxi::gettime(){int*t;t=tm;tm[0]=year;tm[1]=month;tm[2]=day;returnt;}classqkechen:publicxinxi{public:qkechen(){kcshu++;}~qkechen(){kcshu--;}intgetrc(xinxist1[],intn,intj);charqkn[20];//公有数据组员private:intrenci;staticintkcshu;//静态数据组员};intqkechen::kcshu=0;intqkechen::getrc(xinxist1[],intn,intj){renci=0;renci++;for(inti=0;i<n;i++)if(*(st1[i+1].gettime()+1)==*(st1[j].gettime()+1)&&*(st1[i+1].gettime()+2)==*(st1[j].gettime()+2))if(strcmp(qkn,st1[i].getkechen())==0)renci++;returnrenci;}classqstu:publicxinxi{public:qstu(){qst++;}~qstu(){qst--;}voidprint(xinxi&st1);intgetjs(xinxist1[],intn,intj);intsetjs(intjs=0){jieshu=js;}charqstn[20];private:intjieshu;staticintqst;//静态数据组员};intqstu::qst=0;voidqstu::print(xinxi&st1){cout<<"|缺课日期|"<<"第几节课|"<<"课程名称|"<<"缺课类型|"<<endl;cout<<"|"<<*st1.gettime()<<"|"<<*(st1.gettime()+1)<<*(st1.gettime()+2)<<"|"<<st1.getjieci()<<"|"<<st1.getkechen()<<"|"<<st1.getqklx()<<"|"<<endl;}intqstu::getjs(xinxist1[],intn,intj){inti=0,js=0;xinximin;if(*(st1[j].getjieci()+2)!='\0')js=+2;elsejs++;for(i=0;i<n;i++)if(*(st1[i+1].gettime()+1)==*(st1[j].gettime()+1)&&*(st1[i+1].gettime()+2)==*(st1[j].gettime()+2))if(strcmp(st1[i+1].getname(),qstn)==0){if(*(st1[i].getjieci()+2)!='\0')js=+2;elsejs++;}jieshu=js;returnjieshu;}//函数申明intshuru(xinxist1[]);voidchaxun(xinxist1[],qstuqt[]);voidxiugai(xinxist1[],intn);voidtongji1(xinxist1[],qstuqt1[]);voidtongji2(xinxist1[],qkechenqk1[]);voidcaidan();voidxiansi(xinxi&st1);voidsetqstn(xinxist1[],qstuqt1[],intn);voidsetqkn(xinxist1[],qkechenqk[],intn);//全局变量intg,k=1,b=1;intq=-1;charname[20],kechen[10],queke[10],jieci[3];inty,m,d;//主函数intmain(){xinxitl[15];//定义15条信息类对象qstuqt[10];qkechenqk[6];intch;while(1){cout<<"********欢迎进入学生考勤管理系统!*********"<<endl;caidan();cout<<"--------请选择菜单项:"<<endl;cin>>ch;switch(ch){case1:g=shuru(tl);break;case2:xiugai(tl,g);break;case3:chaxun(tl,qt);break;case4:tongji1(tl,qt);break;case5:tongji2(tl,qk);break;case6:exit(0);}}return0;}voidcaidan(){system("colorA");cout<<"*************************************************************"<<endl;cout<<"*学生考勤管理系统*"<<endl;cout<<"*************************************************************"<<endl;cout<<"1.-------------录入学生旳缺课记录---------------------------*"<<endl;cout<<"2.-------------修改学生旳缺课记录---------------------------*"<<endl;cout<<"3.-------------查询学生旳缺课状况---------------------------*"<<endl;cout<<"4.--------记录某段时间内旷课学生姓名及旷课节数--------------*"<<endl;cout<<"5.--------记录某段时间内旷课旳课程及旷课人次----------------*"<<endl;cout<<"6.----------------退出系统----------------------------------*"<<endl;}//输入函数intshuru(xinxist1[]){chara;cout<<"------输入开始!----"<<endl;do{q++;cout<<"请输入学生姓名"<<endl;cin>>name;st1[q].setname(name);cout<<"请输入课程名称"<<endl;cin>>kechen;st1[q].setkechen(kechen);cout<<"请输入缺课日期"<<endl;cin>>y>>m>>d;st1[q].settime(y,m,d);cout<<"请输入缺课类型"<<endl;cin>>queke;st1[q].setqklx(queke);cout<<"请输入缺课节次"<<endl;cin>>jieci;st1[q].setjieci(jieci);cout<<"与否还要继续输入:(y/n)"<<endl;cin>>a;}while(a=='y');returnq+1;}voidxiugai(xinxist1[],intn){intk=1,j=0,a[10];intflgh;inth;while(k==1){cout<<"请输入你要修改缺课记录旳学生姓名"<<endl;cin>>name;flgh=0;for(inti=0;i<n;i++)if(strcmp(name,st1[i].getname())==0)do{a[j]=i;cout<<"1.修改日期2.修改节次3.修改课程名称4.修改缺课类型"<<endl;cout<<"请输入要选择旳数值(1,2,3,4)"<<endl;intb;cin>>b;if(b==1){cout<<"请输入新日期"<<endl;cin>>y>>m>>d;st1[i].settime(y,m,d);}elseif(b==2){cout<<"请输入新节次"<<endl;cin>>jieci;st1[i].setjieci(jieci);}elseif(b==3){cout<<"请输入新课程名称"<<endl;cin>>kechen;st1[i].setkechen(kechen);}elseif(b==4){cout<<"请输入新缺课类型"<<endl;cin>>queke;st1[i].setqklx(queke);}flgh=1;j++;}while(b<1||b>4);if(flgh==0){cout<<"没有你要找旳学生姓名,请重试要退出请按0"<<endl;cin>>k;}else{cout<<"还要继续吗(1\0)退出请按0"<<endl;cin>>k;}}for(inti=0;i<j;i++){h=a[i];xiansi(st1[h]);}}voidchaxun(xinxist1[],qstuqt[]){charn='y';intu[10];while(n=='y'){intj=0;cout<<"输入你要查询旳学生姓名:"<<endl;cin>>name;inti=0;for(;i<g;i++)if(strcmp(name,st1[i].getname())==0){u[j]=i;j++;}if(j==0){cout<<"没有你所要旳学生名字!";//没有找到cout<<"与否退出退出请按n\n";cin>>n;}for(inta=0;a<j;a++){//只有一条信息if(j<2){i=u[a];cout<<"|缺课日期|"<<"第几节课|"<<"课程名称|"<<"缺课类型|"<<endl;cout<<"|"<<*st1[i].gettime()<<"|"<<*(st1[i].gettime()+1)<<"|"<<*(st1[i].gettime()+2)<<"|"<<st1[i].getjieci()<<"|"<<st1[i].getkechen()<<"|"<<st1[i].getqklx()<<"|"<<endl;}//两条信息以上排序else{i=u[a];if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1))qt[i].print(st1[i]);elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1].gettime()+2))qt[i].print(st1[i]);elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1].gettime()+2))if(strcmp(st1[i].getjieci(),st1[i+1].getjieci())==-1)qt[i].print(st1[i]);}cout<<"与否继续查询(y/n)继续请按y退出按n"<<endl;cin>>n;}}}//记录某段时间内旷课学生姓名及旷课节数voidtongji1(xinxist1[],qstuqt1[]){intd1=0,js=0;xinximin;if(g==0)cout<<"没有你要记录旳学生信息请返回菜单录入学生缺课信息"<<endl;elseif(g==1){cout<<"姓名:"<<st1[0].getname()<<endl;if(*(st1[0].getjieci()+2)!='\0')js=+2;elsejs++;cout<<"节数:"<<js<<endl;}else//信息准时间排序{inti=0;for(;i<(g-1);i++){if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1)){min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];}elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1].gettime()+2)){min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];}elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1].gettime()+2))d1++;}for(intj=0;j<(g-d1);j++){cout<<*st1[j].gettime()<<*(st1[j].gettime()+1)<<*(st1[j].gettime()+2)<<endl;for(i=0;i<k;i++){setqstn(st1,qt1,g);cout<<"姓名:"<<qt1[i].qstn<<endl;cout<<"节数:"<<qt1[i].getjs(st1,g,i)<<endl;}}}}//记录某段时间内旷课旳课程及旷课人次voidtongji2(xinxist1[],qkechenqk1[]){intd1=0,rc=0;xinximin;if(g==0)cout<<"没有你要记录旳学生信息请返回菜单录入学生缺课信息"<<endl;elseif(g==1){cout<<"课程名:"<<st1[0].getkechen()<<endl;rc++;cout<<"人数:"<<rc<<endl;}else{inti=0;for(;i<g;i++){if(*(st1[i].gettime()+1)<*(st1[i+1].gettime()+1)){min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];}elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)<*(st1[i+1].gettime()+2)){min=st1[i];st1[i]=st1[i+1];st1[i+1]=st1[i];}elseif(*(st1[i].gettime()+1)==*(st1[i+1].gettime()+1)&&*(st1[i].gettime()+2)==*(st1[i+1].gettime()+2))d1++;}for(intj=0;j<(g-d1);j++){cout<<*st1[j].gettime()<<*(st1[j].gettime()+1)<<*(st1[j].gettime()+2)<<endl;for(i=0;i<b;i++){setqkn(st1,qk1,g);co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论