ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:342.87KB ,
资源ID:5002333      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5002333.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验室考勤系统设计报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验室考勤系统设计报告.docx

1、实验室考勤系统设计报告实验室考勤系统设计报告题目:某高校实验室学生考勤情况管理,需要先存储学生的基本信息,内容包括学号、姓名、班级、进入时间、退出时间、出勤次数、迟到早退次数。其中学号唯一不能重复。具体要求: 主界面:实现可视化,让用户能方便快捷的使用此程序。 显示功能:能显示当前内存中所有的数据。 查询功能:能按照用户所使用的条件查询所需数据。 添加功能:根据实验室人员的增添情况添加。 更改功能:根据查询对相应的记录进行修改并记录。 删除功能:视情况删除数据。 保存功能:把学生信息写入文件夹。 读取功能:从文件夹中读取学生信息。主要框图: 分析: 显然我们要编辑存储人员的信息自然要运用到文件

2、!而人员的信息必须要以结构体的形式来表示才能够方便我们提取信息!在运用文件夹时我们需要对文件夹进行读取和保存,所以我们需要有读取和保存功能。 为了使设计可视化,我们首先要做一个可视界面,进入界面后需要选择功能程序,这将在main()程序中对各个功能模块进行调用。当有需要时被调函数还可以调用其他的函数!很显然需要用switch语句比较简洁方便。解题思路: 定义结构体struct student int Id; /学号 char name15; /学生姓名 int cl; /学生班级 char date114; /入实验室时间 char date214; /出实验室时间 int num; /出勤次

3、数 int s; /迟到早退次数temp,student100; /预定义一百个学生和一个临时变量 主程序(进入主菜单并对功能进行选择)void main(void) load_main();/进入主菜单 while(1) scanf(%c,&in); switch(in) case 3: system(CLS); add_message(); puts(*回主菜单请按回车键*); getchar();/接收add_message()结束的回车键 getchar();/接收任意键结束 system(CLS); load_main(); break; case 1: system(CLS); p

4、uts(*全部员工信息如下*); display(); puts(*回主菜单请按回车键*); getchar();/接收p结束时敲下的回车键 getchar();/接收任意键结束 system(CLS); load_main(); break; case 2: system(CLS); chek_one(); puts(*回主菜单请按回车键*); getchar();/接收chek_one()结束的回车键 getchar();/接收任意键结束 system(CLS); load_main(); break; case 4: system(CLS); change(); puts(*回主菜单请按

5、回车键键*); getchar();/接收change()结束的回车键 getchar();/接收任意键结束 system(CLS); load_main(); break; case 5: system(CLS); delete_messa(); puts(*回主菜单请按回车键*); getchar();/接收delete_messa()结束的回车键 getchar();/接收任意键结束 system(CLS);开始 load_main(); break; 显示一系列功能选项 case 6: exit(); 根据x的值调用各功能模块函数 结束 增加人员信息void add_message()

6、 char recv=y; count=read_num(); /count就是已经存在的学生数量 read_data(); /还应该从数据库读取数据信息 puts( 请输入学生信息:学号 姓名 班级 进入时间 退出时间 出勤次数 迟到早退次数 n); scanf(%d %s %d %s %s %d %d,&studentcount.Id,&studentcount.name,&studentcount.cl,&studentcount.date1,&studentcount.date2,&studentcount.num,&studentcount.s); getchar(); /用来接收回

7、车键的哈 puts(是否保存该学生信息?); scanf(%c,&recv); if(recv=Y) count+; /已存学生数量 wn.worknum=count; save_data(student); /传参整个结构体数组 write_num(); /同时应该保存学生个数 puts(文件成功保存!); else puts(警告:没有保存该学生信息!); 开void add_message() char recv=y; count=read_num(); /count就是已经存在的学生数量 read_data(); /还应该从数据库读取数据信息 puts( 请输入学生信息:学号 姓名 班

8、级 进入时间 退出时间 出勤次数 迟到早退次数 n); scanf(%d %s %d %s %s %d %d,&studentcount.Id,&studentcount.name,&studentcount.cl,&studentcount.date1,&studentcount.date2,&studentcount.num,&studentcount.s); getchar(); /用来接收回车键的哈 puts(是否保存该学生信息?); scanf(%c,&recv); if(recv=Y) count+; /已存学生数量 wn.worknum=count; save_data(stud

9、ent); /传参整个结构体数组 write_num(); /同时应该保存学生个数 puts(文件成功保存!); else puts(警告:没有保存该学生信息!); 始输入信息保存信息结束 删除void delete_messa()/学生编号从1开始编辑,存在0号单元 如果参数为0表示删除所有信息 FILE *fp; int num; puts(*请输入你要删除的学生编号*); scanf(%d,&num); count=read_num(); if(numcount) puts(对不起,你要删除的学生信息不存在!); exit(0); else if(num=0) fp=fopen(data

10、.dat,wb); fclose(fp); fp=fopen(num.dat,wb); fclose(fp); else read_data(); for(int i=num-1;icount) puts(你输入的学号有误!); exit(0); else fp=fopen(data.dat,rb); if(fp=NULL) printf(打开文件出错!); exit(0); num-; puts( 学号 姓名 班级 进入时间 退出时间 出勤次数 迟到早退次数n); fseek(fp,num*sizeof(struct student),0); fread(&temp,sizeof(struc

11、t student),1,fp); printf(%4d%14s%4d%14s%10s%10s%16sn,temp.Id,temp.name,temp.cl,temp.date1,temp.date2,temp.num,temp.s); 显示void display() puts( 学号 姓名 班级 进入时间 退出时间 出勤次数 迟到早退次数n); count=read_num(); read_data(); for(int i=0;icount|num=0) puts(对不起,你要更改的学生信息不存在!); exit(0); else if(flag=5|flag=6|flag=7) rea

12、d_data(); puts(请输入更改的内容:); if(flag=5) scanf(%s,&studentnum-1.date2); else if(flag=6) scanf(%s,&studentnum-1.num); else scanf(%s,&studentnum-1.s); save_data(student); 保存void save_data(struct student) FILE *fp; fp=fopen(data.dat,wb); if(fp=NULL) printf(打开文件出错!); exit(0); for(int i=0;icount;i+) if(fwri

13、te(&studenti,sizeof(struct student),1,fp)!=1) puts(存入文件出错!); fclose(fp); 读取void read_data() FILE *fp; fp=fopen(data.dat,rb); if(fp=NULL) printf(打开文件出错!); exit(0); for(int i=0;icount;i+) fread(&studenti,sizeof(struct student),1,fp); fclose(fp);运行与测试报告:主界面显示功能查找功能增加功能 增加功能后显示更改功能更改功能后显示删除功能删除功能后显示退出功能

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

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