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

  • 22.70 KB
  • 2022-05-17 13:33:26 发布

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

  • 15页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
附录代码:#include"iostream"#include#include"string.h"#includeusingnamespacestd;#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<<"t"<>a;if(a){system("cls");cout<<"nnnnttt密码修改失败!nn";}}else{cout<<"nntt请输入新密码:";GetPwd();strcpy(repwd,password);cout<<"nntt再次输入新密码:";GetPwd();if(strcmp(repwd,password)!=0){cout<<"nntt两次输入密码不相同!nn"<<"tt重新输入请按0否则请按任意键nn";cin>>a;if(a){system("cls");cout<<"nnnnttt密码修改失败!nn";}}else{strcpy(pwd,password);cout<<"nntt密码修改成功!请牢记你的新密码!nn";fstreamfile("\mima.dat",ios::out|ios::binary); file.write(pwd,strlen(pwd));file.close();break;}}}}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////输入增添学生人数voidRecord::SetDate(){inti=0;intm=0;cout<<"n输入/增添学生人数:";cin>>m;for(i=0;i>CRecord[renshu+i].ID;cout<<"nt姓名:";cin>>CRecord[renshu+i].Name;}renshu+=m;}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////按学号排序voidRecord::Order(){ints,z;longt;charr[20];s=renshu;for(inti=0;i=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<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn";else{cout<<"n请输入所查学生学号:";cin>>id;for(i=0;i=renshu)cout<<"n没有你所查找的记录!n";else{cout<<"n该学生的原始信息记录是:n";cout<<"nt学号姓名迟到早退请假旷课"<>n;switch(n){case1:cout<<"n请输入迟到次数:";cin>>n;CRecord[i].chidao+=n;break;case2:cout<<"n请输入早退次数:"; cin>>n;CRecord[i].zaotui+=n;break;case3:cout<<"n请输入请假次数:";cin>>n;CRecord[i].qingjia+=n;break;case4:cout<<"n请输入旷课次数:";cin>>n;CRecord[i].kuangke+=n;break;default:break;}cout<<"nt继续输入该生考情请输0否则输任意值:";cin>>m;}cout<<"n该学生现在的信息记录是:n";cout<<"nt学号姓名迟到早退请假旷课"<>id;for(i=0;i=renshu){cout<<"ntt没有你所查找的记录!n";cout<<"n重新查询修改请输0否则输任意值:";cin>>i;if(i==0)j=1;else{system("cls");cout<<"nnnnttt信息修改失败!nn";break;}}else{cout<<"n该学生的原始信息是:n";cout<<"nt学号姓名迟到早退请假旷课"<>n;switch(n){case1:cout<<"n新的学号:";cin>>id;CRecord[i].ID=id;break;case2:cout<<"n新的姓名:";cin>>name;strcpy(CRecord[i].Name,name);break;case3:cout<<"n输入迟到次数:";cin>>n;CRecord[i].chidao=n;break;case4:cout<<"n输入早退次数:";cin>>n; CRecord[i].zaotui=n;break;case5:cout<<"n输入请假次数:";cin>>n;CRecord[i].qingjia=n;break;case6:cout<<"n输入旷课次数:";cin>>n;CRecord[i].kuangke=n;break;default:break;}cout<<"nt该学生修改后的信息是:n";cout<<"nt学号姓名迟到早退请假旷课"<>j;if(j==0)n=0;elseif(j==1)break;else{j=2;system("cls");cout<<"nnnnttt该学信息修改成功!nn";break;}}}}}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////删除学生信息voidRecord::DelRecord(){inti=0,j,z;longt,id;charr[]={0},A,a="Y",b="N";if(renshu<=0) cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn";else{cout<<"n删除所有学生信息情输1,删除个别学生信息请输2:";cin>>j;if(j==1){cout<<"n是否删除所有同学信息:确认(Y)/取消(N):";cin>>A;if(A==a||A==a+32){renshu=0;cout<<"nnnttt所有信息删除成功!nn";}elseif(A==b||A==b+32)cout<<"nnttt你取消了对所有信息的删除!nn";elsecout<<"nnttt输入错误!删除失败!nn";}elseif(j==2)while(!i){system("cls");cout<<"n请输入要删除学生的学号:";cin>>id;for(i=0;i=renshu)cout<<"n没有你所查找的记录!n";else{cout<<"n该学生的原始信息是:n";cout<<"nt学号姓名迟到早退请假旷课"<>A;if(A==a||A==a+32){j=renshu-1;strcpy(r,CRecord[i].Name);strcpy(CRecord[i].Name,CRecord[j].Name);strcpy(CRecord[renshu-1].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;renshu--;cout<<"nntt该学生删除信息删除成功!nn";}elseif(A==b||A==b+32)cout<<"nntt你取消了对该生信息的删除!nn";elsecout<<"nntt输入错误!删除失败!nn";}cout<<"n继续删除学生信息请输0否则请输任意值:";cin>>i;if(i)cout<<"nnnnttt你取消了对学生信息的继续删除!n";}elsecout<<"nnttt输入错误!操作失败!nn";}}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////按学号输出某个学生的信息voidRecord::FindRecord(){inti;longid;inta=0;if(renshu<=0)cout<<"nnnnt目前没有任何学生信息请先输入学生个人信息再进行此操作!nn";else{cout<<"n请输入你要查找的学生学号:";cin>>id;for(i=0;i>lingshi>>lingshi>>lingshi>>lingshi>>lingshi>>lingshi;while(!file2.eof()){file2>>CRecord[i].ID;file2>>CRecord[i].Name;file2>>CRecord[i].chidao;file2>>CRecord[i].zaotui;file2>>CRecord[i].qingjia; file2>>CRecord[i].kuangke;i++;}if(i==0)renshu=i;else{i--;renshu=i;}file2.close();return;}/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////向文本中保存信息voidRecord::SaveData(){inti=0;Order();ofstreamfile("\Record.txt");file<<"学号t"<<"姓名t"<<"迟到t"<<"早退t"<<"请假t"<<"旷课"<>choose;system("cls");switch(choose){case1:Stu.SetDate();break;case2:Stu.ModifyDate();break;case3:Stu.FindRecord();break;case4:Stu.ShowRecord();break;case5:Stu.PutRecord();break;case6:Stu.DelRecord();break;case7:Stu.SetPwd();break;case8:Stu.SaveData();exit(0);default:Stu.SaveData();cout<<"nnnntttt输入错误!nn";break;}cout<<"nt****************返回界面请输任意值****************nn" <<"t****************退出系统请按:0****************n"<>a;if(a==0)Stu.SaveData();}return0;}