学生考勤管理系统C++Word文档下载推荐.docx

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

学生考勤管理系统C++Word文档下载推荐.docx

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

学生考勤管理系统C++Word文档下载推荐.docx

//请假次数

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”

<

〈CRecord[i].ID〈〈"

〈CRecord[i].Name<

<

”"

〈〈CRecord[i]。

chidao<

CRecord[i]。

zaotui〈<

"

CRecord[i].qingjia<

〈〈CRecord[i].kuangke〈<

endl;

//获取密码

GetPwd()

{inta=0;

while

(1)

{charch;

ch=getch();

if(ch==’\b'

if(a!

=0)

{

cout<

〈char(’\b’)<

〈””<

char(’\b'

);

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

file.get(repwd,20,'

);

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

if(a)

{system("

cls"

cout〈<

”\n\n\n\t\t密码输入错误!

还有”〈<

a〈〈”次输入机会!

\n"

cout〈〈”\t\t”;

system(”pause"

}

else

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

系统自动退出!

\n”;

〈”\t\t"

exit(0);

break;

//修改密码

SetPwd()

{charrepwd[20]={0};

inta=0;

while(!

a)

{system(”cls"

”\n\n\n\n\t\t输入原密码:

GetPwd();

if(strcmp(password,pwd)!

{cout〈〈"

\n\n\t\t原密码错误!

\n\n"

<

〈"

\t\t重新输入请按0否则请按任意键\n\n”;

cin〉>

a;

”\n\n\n\n\t\t\t密码修改失败!

\n\n”;

}

{cout<

\n\n\t\t请输入新密码:

”;

strcpy(repwd,password);

〈”\n\n\t\t再次输入新密码:

if(strcmp(repwd,password)!

{cout〈<

”\n\n\t\t两次输入密码不相同!

〈〈"

\t\t重新输入请按0否则请按任意键\n\n"

a;

if(a)

{system("

cls”);

cout<

\n\n\n\n\t\t\t密码修改失败!

\n\n”;

{strcpy(pwd,password);

\n\n\t\t密码修改成功!

请牢记你的新密码!

fstreamfile(”\\mima。

dat”,ios:

out|ios:

file.write(pwd,strlen(pwd));

file。

close();

//输入增添学生人数

SetDate()

{inti=0;

intm=0;

”\n输入/增添学生人数:

cin〉〉m;

for(i=0;

i<

m;

i++)

\n输入/增添第"

〈〈i+1〈〈”个学生的信息:

”〈<

cout〈<

\n\t学号:

”;

cin>

>

CRecord[renshu+i].ID;

”\n\t姓名:

〉CRecord[renshu+i]。

Name;

renshu+=m;

//按学号排序

Order()

{ints,z;

longt;

charr[20];

s=renshu;

for(inti=0;

i〈s;

{for(intj=i+1;

j〈s;

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;

zaotui;

CRecord[i].zaotui=CRecord[j]。

zaotui;

CRecord[j].zaotui=z;

z=CRecord[i]。

qingjia;

CRecord[i]。

qingjia=CRecord[j]。

CRecord[j].qingjia=z;

z=CRecord[i].kuangke;

CRecord[i]。

kuangke=CRecord[j].kuangke;

CRecord[j]。

kuangke=z;

//设置学生考勤信息

PutRecord()

{inti;

doublelongid;

if(renshu<

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

else

{cout<

\n请输入所查学生学号:

cin〉〉id;

i〈renshu;

{

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

break;

if(i〉=renshu)

”\n没有你所查找的记录!

else

{

cout〈〈"

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

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

〈〈endl;

ShowDate(i);

”\n信息记录:

m)

{intn;

cout〈〈”\n\t请输入选择缺课类型:

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

cin〉〉n;

switch(n)

case1:

cout〈<

\n请输入迟到次数:

〉n;

CRecord[i].chidao+=n;

break;

case2:

cout<

”\n请输入早退次数:

n;

CRecord[i]。

zaotui+=n;

break;

case3:

cout〈〈”\n请输入请假次数:

〉n;

CRecord[i].qingjia+=n;

case4:

\n请输入旷课次数:

CRecord[i].kuangke+=n;

break;

default:

”\n\t继续输入该生考情请输0否则输任意值:

m;

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

\n”;

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

ShowDate(i);

//修改学生信息

ModifyDate()

{inti,j=1;

longid;

if(renshu〈=0)

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

while(j==1)

cls”);

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

id;

renshu;

if(CRecord[i]。

ID==id)

if(i>

=renshu)

{cout〈〈"

\n\t\t没有你所查找的记录!

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

〉i;

if(i==0)

j=1;

cout〈〈”\n\n\n\n\t\t\t信息修改失败!

”\n该学生的原始信息是:

\n\t学号姓名迟到早退请假旷课”〈〈endl;

ShowDate(i);

〈”\n信息修改:

\n"

charname[]={0};

intn=0;

while(n==0)

{cout〈<

”\n\t选择修改内容:

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

n;

{case1:

cout〈<

”\n新的学号:

id;

CRecord[i].ID=id;

case2:

cout〈〈”\n新的姓名:

〉name;

strcpy(CRecord[i].Name,name);

case3:

cout〈〈”\n输入迟到次数:

cin>

CRecord[i].chidao=n;

case4:

cout〈<

\n输入早退次数:

cin〉〉n;

CRecord[i].zaotui=n;

case5:

cout<

”\n输入请假次数:

CRecord[i].qingjia=n;

break;

case6:

\n输入旷课次数:

CRecord[i]。

kuangke=n;

default:

cout〈〈”\n\t该学生修改后的信息是:

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

〈<

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

cin〉〉j;

if(j==0)

n=0;

elseif(j==1)

break;

{j=2;

system(”cls"

”\n\n\n\n\t\t\t该学信息修改成功!

//删除学生信息

DelRecord()

{inti=0,j,z;

longt,id;

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

N’;

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

{cout<

〈”\n删除所有学生信息情输1,删除个别学生信息请输2:

j;

if(j==1)

\n是否删除所有同学信息:

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

A;

if(A==a||A==a+32)

{renshu=0;

\n\n\n\t\t\t所有信息删除成功!

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

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

\n\n\t\t\t输入错误!

删除失败!

elseif(j==2)

while(!

i)

{system("

”\n请输入要删除学生的学号:

”;

i〈renshu;

if(CRecord[i]。

cout〈〈”\n没有你所查找的记录!

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

\n”;

endl;

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]。

CRecord[j]。

ID=t;

z=CRecord[i]。

chidao=CRecord[j]。

chidao;

CRecord[j].chidao=z;

zaotui=CRecord[j]。

CRecord[j].zaotui=z;

qingjia;

CRecord[i]。

CRecord[j]。

qingjia=z;

kuangke;

CRecord[i].kuangke=CRecord[j].kuangke;

CRecord[j].kuangke=z;

renshu--;

”\n\n\t\t该学生删除信息删除成功!

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

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

\n\n\t\t输入错误!

〈”\n继续删除学生信息请输0否则请输任意值:

cin〉〉i;

if(i)

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

”\n\n\t\t\t输入错误!

操作失败!

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

FindRecord()

{inti;

inta=0;

{cout<

\n请输入你要查

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

当前位置:首页 > 自然科学

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

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