实验室考勤系统设计报告Word文件下载.docx
- 文档编号:17955684
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:16
- 大小:342.87KB
实验室考勤系统设计报告Word文件下载.docx
《实验室考勤系统设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验室考勤系统设计报告Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
分析:
显然我们要编辑存储人员的信息自然要运用到文件!
而人员的信息必须要以结构体的形式来表示才能够方便我们提取信息!
在运用文件夹时我们需要对文件夹进行读取和保存,所以我们需要有读取和保存功能。
为了使设计可视化,我们首先要做一个可视界面,进入界面后需要选择功能程序,这将在main()程序中对各个功能模块进行调用。
当有需要时被调函数还可以调用其他的函数!
很显然需要用switch语句比较简洁方便。
解题思路:
∙定义结构体
structstudent
{
intId;
//学号
charname[15];
//学生姓名
intcl;
//学生班级
chardate1[14];
//入实验室时间
chardate2[14];
//出实验室时间
intnum;
//出勤次数
ints;
//迟到早退次数
}temp,student[100];
//预定义一百个学生和一个临时变量
∙主程序(进入主菜单并对功能进行选择)
voidmain(void)
load_main();
//进入主菜单
while
(1)
{
scanf("
%c"
&
in);
switch(in)
case'
3'
:
{
system("
CLS"
);
add_message();
puts("
***************************回主菜单请按回车键*********************************"
getchar();
//接收add_message()结束的回车键
//接收任意键结束
break;
}
case'
1'
{
puts("
****************************全部员工信息如下**********************************"
display();
//接收p结束时敲下的回车键
system("
2'
chek_one();
//接收chek_one()结束的回车键
4'
change();
***************************回主菜单请按回车键键*********************************"
//接收change()结束的回车键
5'
delete_messa();
//接收delete_messa()结束的回车键
开始
显示一系列功能选项
6'
exit();
根据x的值调用各功能模块函数
}
}
结束
∙增加人员信息
voidadd_message()
charrecv='
y'
;
count=read_num();
//count就是已经存在的学生数量
read_data();
//还应该从数据库读取数据信息
请输入学生信息:
学号姓名班级进入时间退出时间出勤次数迟到早退次数\n"
%d%s%d%s%s%d%d"
student[count].Id,&
student[count].name,&
student[count].cl,&
student[count].date1,&
student[count].date2,&
student[count].num,&
student[count].s);
getchar();
//用来接收回车键的哈
是否保存该学生信息?
"
recv);
if(recv=='
Y'
)
count++;
//已存学生数量
wn.worknum=count;
save_data(student);
//传参整个结构体数组
write_num();
//同时应该保存学生个数
文件成功保存!
else
警告:
没有保存该学生信息!
}
开voidadd_message()
}始
输入信息
保存信息
∙删除
voiddelete_messa()//学生编号从1开始编辑,存在0号单元如果参数为0表示删除所有信息
FILE*fp;
**********************请输入你要删除的学生编号*************************"
%d"
num);
if(num>
count)
对不起,你要删除的学生信息不存在!
exit(0);
if(num==0)
fp=fopen("
data.dat"
"
wb"
fclose(fp);
num.dat"
for(inti=num-1;
i<
count-1;
i++)
student[i]=student[i+1];
count--;
∙查询
voidchek_one()
***************************请输入要查寻人员的学号*****************************"
puts("
你输入的学号有误!
exit(0);
rb"
if(fp==NULL)
{
printf("
打开文件出错!
num--;
学号姓名班级进入时间退出时间出勤次数迟到早退次数\n"
fseek(fp,num*sizeof(structstudent),0);
fread(&
temp,sizeof(structstudent),1,fp);
%4d%14s%4d%14s%10s%10s%16s\n"
temp.Id,temp.name,temp.cl,temp.date1,temp.date2,temp.num,temp.s);
∙显示
voiddisplay()
for(inti=0;
count;
%4d%14s%4d%11s%11s%12d%12d%\n"
student[i].Id,student[i].name,student[i].cl,student[i].date1,student[i].date2,student[i].num,student[i].s);
\n"
∙更改
voidchange()
intnum,flag;
**********************请输入你要更改的学生的学号、更改学号***********************"
***********更改编号说明:
出勤次数(5)、迟到早退次数(6)***********"
%d%d"
num,&
flag);
count||num==0)
对不起,你要更改的学生信息不存在!
if(flag==5||flag==6||flag==7)
请输入更改的内容:
if(flag==5)
{
%s"
student[num-1].date2);
}
elseif(flag==6)
{
student[num-1].num);
else
scanf("
student[num-1].s);
∙保存
voidsave_data(structstudent[])
if(fwrite(&
student[i],sizeof(structstudent),1,fp)!
=1)
存入文件出错!
∙读取
voidread_data()
student[i],sizeof(structstudent),1,fp);
运行与测试报告:
主界面
显示功能
查找功能
增加功能
增加功能后显示
更改功能
更改功能后显示
删除功能
删除功能后显示
退出功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验室 考勤 系统 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)