学生考勤管理系统(C++)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

附录代码:#includeiostream#includeconio.h#includestring.h#includefstreamusingnamespacestd;#defineSize1000classRecord{public:Record();//构造函数voidEntersystem();//进入系统函数voidGetPwd();//获取密码voidSetDate();//输入设置学生信息voidSetPwd();//修改登录密码voidReadDate();//读取文本信息函数voidSaveData();//向文本保存信息函数voidPutRecord();//输入考勤函数voidFindRecord();//查找学生信息函数voidShowRecord();//输出所有学生信息voidOrder();//按学号排序voidModifyDate();//修改学生信息voidDelRecord();//删除学生信息private:intrenshu;//学生人数intchidao;//迟到次数intzaotui;//早退次数intkuangke;//旷课次数intqingjia;//请假次数longID;//学生学号charName[20];//学生姓名charpassword[20];//登录密码voidShowDate(inti);};/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////类的实现/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////构造函数Record::Record(){renshu=0;chidao=0;zaotui=0;qingjia=0;kuangke=0;ID=0;Name[20]=0;password[20]=0;}RecordCRecord[Size];charpwd[]={'1','2','3','4','5','6'};/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////输出函数voidRecord::ShowDate(inti){cout\tCRecord[i].IDCRecord[i].NameCRecord[i].chidaoCRecord[i].zaotuiCRecord[i].qingjiaCRecord[i].kuangkeendl;}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////获取密码voidRecord::GetPwd(){inta=0;while(1){charch;ch=getch();if(ch=='\b'){if(a!=0){coutchar('\b')char('\b');a--;}}elseif(ch=='\r'){password[a]='\0';coutendl;break;}else{cout*;password[a++]=ch;}}}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////登陆进入系统voidRecord::Entersystem(){inta=3,b=1;charrepwd[20];fstreamfile(\\mima.dat,ios::in|ios::binary);file.get(repwd,20,'\0');file.close();b=strlen(repwd);if(b){strcpy(pwd,repwd);}while(a){system(cls);cout\n\n\n\n\t\t\t欢迎使用考勤管理系统!;cout\n\n\n\t\t请输入登陆密码:;GetPwd();a--;if(strcmp(pwd,password)!=0){if(a){system(cls);cout\n\n\n\t\t密码输入错误!还有a次输入机会!\n;cout\t\t;system(pause);}else{system(cls);cout\n\n\n\t\t连续3次密码输入错误!系统自动退出!\n;cout\t\t;system(pause);exit(0);}}elsebreak;}}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////修改密码voidRecord::SetPwd(){charrepwd[20]={0};inta=0;while(!a){system(cls);cout\n\n\n\n\t\t输入原密码:;GetPwd();if(strcmp(password,pwd)!=0){cout\n\n\t\t原密码错误!\n\n\t\t重新输入请按0否则请按任意键\n\n;cina;if(a){system(cls);cout\n\n\n\n\t\t\t密码修改失败!\n\n;}}else{cout\n\n\t\t请输入新密码:;GetPwd();strcpy(repwd,password);cout\n\n\t\t再次输入新密码:;GetPwd();if(strcmp(repwd,password)!=0){cout\n\n\t\t两次输入密码不相同!\n\n\t\t重新输入请按0否则请按任意键\n\n;cina;if(a){system(cls);cout\n\n\n\n\t\t\t密码修改失败!\n\n;}}else{strcpy(pwd,password);cout\n\n\t\t密码修改成功!请牢记你的新密码!\n\n;fstreamfile(\\mima.dat,ios::out|ios::binary);file.write(pwd,strlen(pwd));file.close();break;}}}}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////输入增添学生人数voidRecord::SetDate(){inti=0;intm=0;cout\n输入/增添学生人数:;cinm;for(i=0;im;i++){cout\n输入/增添第i+1个学生的信息:endl;cout\n\t学号:;cinCRecord[renshu+i].ID;cout\n\t姓名:;cinCRecord[renshu+i].Name;}renshu+=m;}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////按学号排序voidRecord::Order(){ints,z;longt;charr[20];s=renshu;for(inti=0;is;i++){for(intj=i+1;js;j++)if(CRecord[i].ID=CRecord[j].ID){strcpy(r,CRecord[i].Name);strcpy(CRecord[i].Name,CRecord[j].Name);strcpy(CRecord[j].Name,r);t=CRecord[i].ID;CRecord[i].ID=CRecord[j].ID;CRecord[j].ID=t;z=CRecord[i].chidao;CRecord[i].chidao=CRecord[j].chidao;CRecord[j].chidao=z;z=CRecord[i].zaotui;CRecord[i].zaotui=CRecord[j].zaotui;CRecord[j].zaotui=z;z=CRecord[i].qingjia;CRecord[i].qingjia=CRecord[j].qingjia;CRecord[j].qingjia=z;z=CRecord[i].kuangke;CRecord[i].kuangke=CRecord[j].kuangke;CRecord[j].kuangke=z;}}}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////设置学生考勤信息voidRecord::PutRecord(){inti;doublelongid;if(renshu=0)cout\n\n\n\n\t目前没有任何学生信息请先输入学生个人信息再进行此操作!\n\n;else{cout\n请输入所查学生学号:;cinid;for(i=0;irenshu;i++){if(CRecord[i].ID==id)break;}if(i=renshu)cout\n没有你所查找的记录!\n;else{cout\n该学生的原始信息记录是:\n;cout\n\t学号姓名迟到早退请假旷课endl;ShowDate(i);cout\n信息记录:\n;intm=0;while(!m){intn;cout\n\t请输入选择缺课类型:(1迟到2早退3请假4旷课):;cinn;switch(n){case1:cout\n请输入迟到次数:;cinn;CRecord[i].chidao+=n;break;case2:cout\n请输入早退次数:;cinn;CRecord[i].zaotui+=n;break;case3:cout\n请输入请假次数:;cinn;CRecord[i].qingjia+=n;break;case4:cout\n请输入旷课次数:;cinn;CRecord[i].kuangke+=n;break;default:break;}cout\n\t继续输入该生考情请输0否则输任意值:;cinm;}cout\n该学生现在

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功