学生考勤管理系统C.docx

上传人:b****6 文档编号:7327864 上传时间:2023-01-23 格式:DOCX 页数:20 大小:18.75KB
下载 相关 举报
学生考勤管理系统C.docx_第1页
第1页 / 共20页
学生考勤管理系统C.docx_第2页
第2页 / 共20页
学生考勤管理系统C.docx_第3页
第3页 / 共20页
学生考勤管理系统C.docx_第4页
第4页 / 共20页
学生考勤管理系统C.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

学生考勤管理系统C.docx

《学生考勤管理系统C.docx》由会员分享,可在线阅读,更多相关《学生考勤管理系统C.docx(20页珍藏版)》请在冰豆网上搜索。

学生考勤管理系统C.docx

学生考勤管理系统C

附录代码:

#include"iostream"

#include

#include"string.h"

#include

usingnamespacestd;

#defineSize1000

classRecord

{

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"

<

<

<

<

<

<

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//获取密码

voidRecord:

:

GetPwd()

{inta=0;

while

(1)

{charch;

ch=getch();

if(ch=='\b')

{

if(a!

=0)

{

cout<

a--;

}

}

elseif(ch=='\r')

{password[a]='\0';

cout<

break;

}

else

{cout<<"*";

password[a++]=ch;

}

}

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//登陆进入系统

voidRecord:

:

Entersystem()

{inta=3,b=1;

charrepwd[20];

fstreamfile("\\mima.dat",ios:

:

in|ios:

:

binary);

(repwd,20,'\0');

();

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密码输入错误!

还有"<

\n";

cout<<"\t\t";

system("pause");

}

else

{system("cls");

cout<<"\n\n\n\t\t连续3次密码输入错误!

系统自动退出!

\n";

cout<<"\t\t";

system("pause");

exit(0);

}

}

else

break;

}

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//修改密码

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";

cin>>a;

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";

cin>>a;

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);

(pwd,strlen(pwd));

();

break;

}

}

}

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//输入增添学生人数

voidRecord:

:

SetDate()

{inti=0;

intm=0;

cout<<"\n输入/增添学生人数:

";

cin>>m;

for(i=0;i

{cout<<"\n输入/增添第"<

"<

cout<<"\n\t学号:

";

cin>>CRecord[renshu+i].ID;

cout<<"\n\t姓名:

";

cin>>CRecord[renshu+i].Name;

}

renshu+=m;

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//按学号排序

voidRecord:

:

Order()

{ints,z;

longt;

charr[20];

s=renshu;

for(inti=0;i

{for(intj=i+1;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请输入所查学生学号:

";

cin>>id;

for(i=0;i

{

if(CRecord[i].ID==id)

break;

}

if(i>=renshu)

cout<<"\n没有你所查找的记录!

\n";

else

{

cout<<"\n该学生的原始信息记录是:

\n";

cout<<"\n\t学号姓名迟到早退请假旷课"<

ShowDate(i);

cout<<"\n信息记录:

\n";

intm=0;

while(!

m)

{intn;

cout<<"\n\t请输入选择缺课类型:

(1迟到2早退3请假4旷课):

";

cin>>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<<"\n\t继续输入该生考情请输0否则输任意值:

";

cin>>m;

}

cout<<"\n该学生现在的信息记录是:

\n";

cout<<"\n\t学号姓名迟到早退请假旷课"<

ShowDate(i);

}

}

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//修改学生信息

voidRecord:

:

ModifyDate()

{inti,j=1;

longid;

if(renshu<=0)

cout<<"\n\n\n\n\t目前没有任何学生信息请先输入学生个人信息再进行此操作!

\n\n";

else

while(j==1)

{system("cls");

cout<<"\n请输入要修改学生的学号:

";

cin>>id;

for(i=0;i

{

if(CRecord[i].ID==id)

break;

}

if(i>=renshu)

{cout<<"\n\t\t没有你所查找的记录!

\n";

cout<<"\n重新查询修改请输0否则输任意值:

";

cin>>i;

if(i==0)

j=1;

else

{system("cls");

cout<<"\n\n\n\n\t\t\t信息修改失败!

\n\n";

break;

}

}

else

{

cout<<"\n该学生的原始信息是:

\n";

cout<<"\n\t学号姓名迟到早退请假旷课"<

ShowDate(i);

cout<<"\n信息修改:

\n";

charname[]={0};

intn=0;

while(n==0)

{cout<<"\n\t选择修改内容:

(1学号2姓名3迟到4早退5请假6旷课):

";

cin>>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<<"\n\t该学生修改后的信息是:

\n";

cout<<"\n\t学号姓名迟到早退请假旷课"<

ShowDate(i);

cout<<"\n\n继续修改该生请输入0修改其他学生请输入1否则请输入其他任意值:

";

cin>>j;

if(j==0)

n=0;

elseif(j==1)

break;

else

{j=2;

system("cls");

cout<<"\n\n\n\n\t\t\t该学信息修改成功!

\n\n";

break;

}

}

}

}

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//删除学生信息

voidRecord:

:

DelRecord()

{inti=0,j,z;

longt,id;

charr[]={0},A,a='Y',b='N';

if(renshu<=0)

cout<<"\n\n\n\n\t目前没有任何学生信息请先输入学生个人信息再进行此操作!

\n\n";

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<<"\n\n\n\t\t\t所有信息删除成功!

\n\n";

}

elseif(A==b||A==b+32)

cout<<"\n\n\t\t\t你取消了对所有信息的删除!

\n\n";

else

cout<<"\n\n\t\t\t输入错误!

删除失败!

\n\n";

}

elseif(j==2)

while(!

i)

{system("cls");

cout<<"\n请输入要删除学生的学号:

";

cin>>id;

for(i=0;i

{

if(CRecord[i].ID==id)

break;

}

if(i>=renshu)

cout<<"\n没有你所查找的记录!

\n";

else

{cout<<"\n该学生的原始信息是:

\n";

cout<<"\n\t学号姓名迟到早退请假旷课"<

ShowDate(i);

cout<<"\n是否删除该学生的信息:

"

<<"确认(Y)/取消(N):

";

cin>>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<<"\n\n\t\t该学生删除信息删除成功!

\n\n";

}

elseif(A==b||A==b+32)

cout<<"\n\n\t\t你取消了对该生信息的删除!

\n\n";

else

cout<<"\n\n\t\t输入错误!

删除失败!

\n\n";

}

cout<<"\n继续删除学生信息请输0否则请输任意值:

";

cin>>i;

if(i)

cout<<"\n\n\n\n\t\t\t你取消了对学生信息的继续删除!

\n";

}

else

cout<<"\n\n\t\t\t输入错误!

操作失败!

\n\n";

}

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//按学号输出某个学生的信息

voidRecord:

:

FindRecord()

{inti;

longid;

inta=0;

if(renshu<=0)

cout<<"\n\n\n\n\t目前没有任何学生信息请先输入学生个人信息再进行此操作!

\n\n";

else

{cout<<"\n请输入你要查找的学生学号:

";

cin>>id;

for(i=0;i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1