第一篇:学生点名考勤系统(范文)
赵彬:电子商城系统
学生点名考勤系统
摘要
随着社会的反展和信息技术的进步,全球信息化的趋势越来越明显。几乎没有一个学校不在走信息化的路子,都在用自己的智慧将工作效率一步一步的提升。在现在的高校中,由于学生的分布式教学,造成了教学管理的不严谨性,使得一些学生产生了逃课旷课的侥幸心理。所以教师的任务不仅仅是教学,还要同时负担考勤等烦杂的日常事务,这样就会严重影响到教师的授课时间,同时也影响了学生的听课时间。因此,信息化给这样的一个状况带来了一个契机,基于信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效的处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学。
学生点名考勤系统具备较完备的信息管理功能,通过使用本系统,高校教师能够在很短的时间内完成学生的考勤任务,并将考勤信息存入数据库,即有效的保存了数据,方便以后对学生的评定,又节省了考勤所耗费的时间,使之能够更好的完成教学任务。全文共分为:前言、系统需求分析、系统逻辑方案、系统总体设计、系统详细设计、系统实施等六部分,通过对高校学生考勤工作流程的具体分析,详细表述了系统的业务流程图、数据流程图、数据字典、HIPO图、E-R图,然后采用自顶向下的几方法循序渐进地进行了系统的模块设计、代码设计、数据库设计、人机界面设计及输入输出设计等。通过系统的规划,充分体现了信息化在公安工作中的重要性、及时性和实效性。
关键词:学生点名考勤系统,数据流程图,HIPO图,E-R图
I
一、需求分析
1.1项目背景
在计算机技术广泛推广的今天,应用计算机已经大大的提高了社会的各方面的效率。而作为学校,社会知识的高度集中区,计算机已经成为一种必需品。有了计算机,那么我们就应该在方方面面想到用它来提高我们的效率。
对于大学生的考勤方面,现在越来越显示出重要性。虽然大学生都已经步入成年,但是其自制力还是很不乐观。很多方面还需要代课老师和学校的监督,当然对于上课点名很占用时间,而且效果不好,老师也不能对学生每次点名情况都有明确的了解,所以一个可视化的点名系统称为必须。
此外,对于学生上课表现情况,老师可以对问题的次数以及质量来进行打分。所以在上课时有一个能够面向学生的点名系统对学生的进行的提问也成为老师们十分想要的一个系统。
1.2项目目标
本软件专门为了老师和广大学生上课的便利而设计。所以本组的所有成员对老师(用户)进行可调查以及对这方面的细节进行了观察,力求老师上课时不用对学生的繁杂的资料来进行询问,只需要简单的操作就可以实现对学生的点名及提问,方便省时。
此外,本软件中还有对学生的打分与记录,对学生的整体情况进行记录,以及对每次到课情况进行统计,使课堂上的更多情况能在数据库中得以保存。
可见本软件在目标上是尽量满足用户的需求。
1.3运行环境
本软件可以在WindowsXP系统中运行,计算的硬件要求不高,一般的配置就可以转动,但是使用时一定要按本软件提供的数据库设计方式设计数据库,然后用过说明要求加入数据库就可以使用。
1.4项目的具体功能
项目具有点名、提问、记录缺课次数以及总的缺课次数、修改学生信息、修改数据库的内容,增加学生等。
二、技术路线
2.1总体方案
本软件总体上要实现对学生的上课情况进行考勤与记录,对学生资料的管理以及数据管理,系统数据库进行设计。
2.2开发平台
本系统是以Windows XP系统为操作平台,用Java语言作为唯一的编写语言,在MyEclipse平台上完成,利用MySQL数据库实现。
第二篇:学生考勤管理系统
学生考勤管理系统
系统设计开发:张文聪
网站意义:
学生考勤对学校教务管理是至关重要的,传统的学生出勤检查往往是教师拿着一张纸质名单逐一点名,或让学生上交课堂作业以便课后查询出勤情况。这些方法往往具有考勤效率低下,没有系统的记录和整理,容易丢失遗漏,耽误时间等缺点。针对以上问题,开发一种针对学生考勤的网上管理系统,通过本系统,教师可以再课堂上直接登录考勤记录网站进行课堂点名,记录学生考勤情况等。此外,在课余,任课教师、班主任以及学校领导也可以登录该网站查询某班学生在某学科课程的出勤情况。
需求分析:
1、提供学生和老师两个登录用户;
2、学生可以查询自己的出勤情况;
3、任课老师可以查询自己带的班级学生的出勤情况;
4、班主任可以查询本班级学生在每一学科的出勤情况。
5、实现科任老师和班主任查询结果的报表打印。
网站设计图:
开发运行平台:
主要以Microsoft Visual Studio.NET 2008 为开发平台,SQL Server 2000为后台数据库,采用.NET技术,结合C#和JavaScript构造应用程序。
功能模块说明:
1、学生信息管理
包括了学生的个人信息,所在班级,学号,姓名和学生每个学科的出勤情况。
2、学科信息
包括了每一个学科的课程名称,课程号和每一个课程对应的任课教师。
3、出勤模块
包括了全校所有学生对应每一学科课程的出勤情况。班主任和科任老师可以查询对应的班级学生出勤情况并打印出来。
网站总结:
本系统针对在校学生每一节课的考勤情况作记录,方便班主任对本班学生出勤率的查看可以及时做好教育防范工作。根据教务处的需求,我们还会将本系统继续扩大,添加进学生早操、值日和会议等功能,以及学生通过系统请假,老师或领导批假等功能。
第三篇:Java程序设计课程设计学生考勤系统
信息与电子工程学院
课程设计报告
课程名称:
姓名: 学号: 班级: 指导老师: 完成时间:
2016年6月 Java程序设计课程设计
学生考勤系统
问题描述:
以班为单位,可以以日期为标识记录每个学生的考勤情况(正常、旷课、请假、迟到、早退)、可以查看某个学生的考勤情况、可以查看全班的考勤情况.1.需求分析(标题,黑体,小四,段前段后0.5行)
(1)用户需求描述:
学生用户:学生对本系统的主要需求是在线请假以及查看学期内的上课出勤信息。在线请假中,学生可以随时查看请假的进展情况。另外学生还可以修改本人的密码。
教师用户:任课老师对本系统的主要需求是查看班级信息,查看学生信息。并且在上课前进行点名,管理所教班级学生的上课出勤信息,查看学生上课出勤情况,对学生请假审请进行批准等。另外,教师还可以修改自己的密码。(2)系统功能划分: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这两大模块。
在线请假模块:
该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。
考勤管理模块:
该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E表格,最后方便统计整个学期本课程所有学生的考勤情况。
2.总体设计
功能结构图;
ER图:
数据库设计: 1 数据库需求分析
学生考勤管理系统要实现在线请假、随堂考勤两大子系统,需要了解学生用户、教师用户两类用户的功能模块。然后,据此分析出数据需求。学生表:学生流水号、学生学号、学生名字、性别、宿舍号、联系方式、密码。请假表:请假开始时间、请假结束时间、请假原因、请假天数、审批时间。考勤表:考勤流水号、考勤的学生ID、考勤的课程ID、考勤时间、考勤课次、考勤结果。
3.主要功能的实现
(1)设计的思路: 根据用户需求的描述,该考勤管理系统应该具备:在线请假模块,考勤管理模块这三大模块。
在线请假模块:
该模块主要操作用户是由学生,由学生登录并进行请假操作。可以选择请假开始时间,请假结束时间,请假的原因等,最后提交由教师和辅导员进行审核审批,审核通过后学生可以在请假记录里面实时查看请假通过情况。若教师或辅导员不允许该请假,学生可以在请假失败记录里面查看具体原因。
考勤管理模块:
该模块主要由教师登录并进行操作,自己操作界面中修改学生考勤。老师在上课时通过该模块可以对本课程考勤情况进行网上考勤,考勤结果会保存在后台,也可以通过选择导出为E表格,最后方便统计整个学期本课程所有学生的考勤情况。用户信息修改模块: 该模块主要操作用户是由学生和老师,由用户登录并进行操作。选择修改用户密码,验证旧的用户密码,输入新的用户密码,并且重复确认输入,点击确定之后,系统修改用户信息并保存。
(2)算法流程图:
(3)UML时序图:
学生输入用户名和密码,系统验证用户名和密码是否正确,如果正确,显示系统主页面。(4)活动图:
学生登陆系统点击请假申请,然后填写假条信息,填写完成后点击提交,老师审批假条并返回信息给申请者。(2)程序执行结果
4.小结
课程设计小结:该系统还有较多不完善之处,个人能力也有待进一步的提升。通过这次课程设计,重新掌握了一些以前掌握的不够牢固的知识和一些不懂的方法实现的思路及想法,让我们得到进一步的提高。
第四篇:学生考勤管理系统设计报告
C/C++程序设计专题实验
报告
题目:学生考勤管理系统设计
班级:电子信息科学与技术131 姓名: 邬
帅
斌
目录
目录......................................................................1 摘要........................................................................2 1.设计要求和目的.........................................................................................错误!未定义书签。
1.1设计目的................................................................3 1.2问题描述................................................................3 1.3功能要求................................................................3 1.4问题的解决方案..........................................................3 2 设计思路和方法...........................................................................................................................4 3 主模块设计....................................................................................................................................5 4.运行测试及结果.........................................................................................................................13 5.总结...........................................................................................................................................16 参考文献.........................................................................................................................................16 源代码..............................................................................................................................................17
摘要
随着信息技术在管理上越来越深入的应用,管理信息系统的实施在技术上已经逐步成熟。管理信息系统是一个不断发展的学科,任何单位要生存要发展,要提高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的信息管理系统。
由于学校的学生管理系统缺乏开发,而学生人数不断增加,学生信息的不断更新,所以,学生考勤管理系统的建立就显得非常重要了。
本设计是基于Visual basic C++ 6.0开发环境,至上而下,层次化地设计学生考勤管理,综合考虑学生考勤管理所涉及的多方面问题,结合学校和教师的情况,有步骤,条理清晰的设计,操作简单,很方便的实现了学校和老师对学生考勤的管理。
关键词:学生考勤管理 C++ 信息录入 查询
1.设计要求和目的
1.1设计目的
(1)进一步锻炼学生对C++课程基础知识和实践技能的掌握和运用;
(2)要求学生基本掌握面向对象程序设计的基本思路和方法;
(3)要求学生能够利用所学的基础知识和技能,解决简单的面向对象设计问题。
1.2问题描述
学生信息包括:学号、姓名、性别、年龄、班级等信息。
考勤信息包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假和旷课)。
1.3功能要求
(1)添加功能:程序能够添加学生的记录和缺课记录,提供选择界面供用户选择所要添加的类别。添加学生记录时,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。还可以按课程名、学生姓名对缺课记录进行查询。
(3)显示功能:可显示当前系统中所有学生的记录和缺课记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。
(5)删除功能:主要实现对已添加的学生记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能按课程名统计出学生旷课的信息、还可以按姓名统计出任一学生的旷课情况。需要排序。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
1.4问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;(7)功能调试;
(8)完成系统总结报告。(7)功能调试;
(8)完成系统总结报告。
2.设计思路和方法
2.1设计思路
根据设计要求,经分析可将整个系统划分为7个功能模块。数据管理中可以对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改。查询管理通过根据学生姓名,课程姓名 时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录。功能模块图如下图所示:
学生考勤管理程序建立学生缺课记录修改学生缺课记录查询学生缺课记录查看单科旷课记录查看学生旷课记录载入学生旷课记录储存学生旷课记录
2.2数据结构设计
struct xueke {char xueke_name[50];int people_num;};这是定义了一个xueke结构体,用来存放一个学科名及其相应的旷课人数;
struct student { char name[50];long time;int lesson_time;char lesson_name[50];int chidao_num;
int zaotui_num;int qingjia_num;int kuangke_num;struct student *next;};这是定义了一个student的结构体,用来存放一个学生的考勤记录,其中有,字符数组name[50],lesson_name[50],分别存放学生名字,缺课课程名字;int型变量lesson_time,chidao_num,zaotui_num,qingjia_num, kuangke_num,分别来存放,缺课节次,迟到次数,早退次数,请假次数,旷课次数 long型变量time,记录时间。
3.主模块设计
3.1建立学生缺课记录子模块
建立的学生人数,学生基本信息(包括缺课时间、学生姓名、课程名称、节次、迟到次数、早退次数、请假次数、旷课次数),用creat()函数,如下图:
开始int i,b;struct student *head,*p1,*p2;printf(“请输入要建立资料的学生人数:”);scanf(“%d”,&b);head=p2=NULL;p1=(struct student *)malloc(LEN);输入第一个学生成绩head=p1;p2=p1;i=0;student_num++;inext=p1;p2=p1;student_num++;i++p2->next=NULL结束
3.2修改学生缺课记录子模块
开始char xiugai_name[50];char xiugai_xueke_name[50];int k;printf(”请输入要修改的学生姓名与学科名称:“);scanf(”%s%s“,xiugai_name,xiugai_xueke_name);struct student *p1,*p2;p2=(struct student *)malloc(LEN);p1=head;p1=p1->next;strcmp(xiugai_name,p1->name)!=0&&(p1->next!=NULL)&&strcmp(xiugai_xueke_name,p1->lesson_name)!strcmp(xiugai_name,p1->name)==0&&strcmp(xiugai_xueke_name,p1->lesson_name)==0显示修改菜单选择修改项目并完成修改结束
3.3修改学生缺课记录子模块
开始int i=0;char chaxun_name[50];struct student *p;p=head;printf(”请输入要查询的人名:“);scanf(”%s“,chaxun_name);i
3.4查看单科旷课记录子模块
根据学科名称和时间范围查出所有在该范围内旷课的学生以及次数,如下图:
开始struct student *p1,*p2,*p3;char lesson[50];long look_time1,look_time2;int xunhuan_num=0;p3=(struct student *)malloc(LEN);p1=head;p2=p1->nextxunhuan_num
3.5查看学生旷课记录子模块
根据要查询的学科名称及时间段查出在改时间段内该门课上旷课的人数,如下图:
开始int n,i,j,zhongjian;struct student *p1;char zhongjian_name[50];long look_time1,look_time2;printf(”请输入第%d个学科名称:“,i+1);scanf(”%s“,a[i].xueke_name);a[i].people_num=0;printf(”请输入要查看的时间范围由小到大“);scanf(”%ld%ld“,&look_time1,&look_time2);p1=head;i=0;Yi 3.6载入学生旷课记录子模块 可以载入实现储存在当前文件夹中txt文件中所储存的数据,如下图: 开始struct student *p1=NULL,*p2=NULL,*head=NULL;struct student student_ziliao[100];int i=0,n=0;打开文件!feof(fp1)将文件里的数据存入结构体数组通过结构体数组建立链表结束 3.7储存学生旷课记录子模快 进入系统界面,进行数据的输入,信息的保存调用相应的函数打开相应的地址,查询各项信息。如下图: 开始struct student *p1;p1=head;打开文件xueshengziliao.txtp1!=NULLN将数据写入文件p1=p1->next;结束 Y 4.运行测试与结果 4.1开始菜单 4.2主菜单 4.3创建学生缺课记录库 4.4修改学生缺课记录 4.5查询学生缺课记录 4.6查看单科旷课记录 4.7查看学生旷课记录 4.8载入旷课记录 4.9储存旷课记录 5.总结 在老师同学的细心帮助下,结合网上的参考资料,这次设计总算顺利完成。通过本次设计,让我对C++基础课程有了更加深刻的理解,在相关的能力上有了很大的提高,虽然在设计过程中遇到很大的困难,但是经过不断的修改和调试,在此过程中受益匪浅。 这次的程序设计相对于平时的训练还是有了进步的。学生考勤管理系统要求至少要有四个类,在起初,对于定义哪四个类我是不清楚的,通过仔细的研读问题描叙终于在脑海里确定了这四个类。既然是学生考勤管理系统,那由学生缺课信息中的日期我想到了时间类,这是一个很简单的类。从系统的几大功能我又想到了系统的基础就是缺课学生的缺课信息,于是我又想到了一个信息类,还有两个类是根据两个统计功能想到的,在现在看来似乎有些不妥。通过这次的课程设计我明白了学习程序设计语言必须要勤做实验,通过实验总结经验。 平时遇到的一些小问题一定要重视,越是基础的知识越要理解透彻。比如指针与数组方面的知识,一旦没有弄清楚,在设计程序时就会吃亏。这次的课设中,我遇到了很多的问题,有的通过思考或查看书本解决了,有的还留在脑子里,只有通过孜孜不倦的求索我们才会有进步,不懂得思考就不能真正的掌握一门知识。这次的实验给以了我警示,让我明白我所掌握的知识还很欠缺,对于继承与派生这一章的知识,我以为自己勉强掌握了,这次实验后我发现我掌握得还不够。基类的保护成员公有继承到派生类,类外是否可以通过对象来访问呢,原先我认为是可以的,经过这次程序设计,我知道我错了。总之,我觉得做学问不应该马虎,对于所学一定要有深入的理解,这也是我这次课设得到的启示。 参考文献: 刘锐宇.Visual C++从入门到精通.清华大学出版社 谭浩强.C++语言程序设计.清华大学出版社 设计源程序代码: #include //stdio.h的内容用C++头文件的形式表示 #include #include //动态内存分配 #include #include //I/O流控制头文件 #define NULL 0 #define guding 10 #define LEN sizeof(struct student) //定义了一个常数宏LEN,它的值等于结构体student的所占内存大小 using namespace std;int student_num;FILE *fp1; //定义指针类型文件 struct xueke { char xueke_name[50];int people_num;}; struct student { char name[50];long time;int lesson_time;char lesson_name[50];int chidao_num;int zaotui_num;int qingjia_num;int kuangke_num;struct student *next;};void chaxun(struct student *head){ int i;char chaxun_name[50];cout<<”请输入要查询的人名:“; cin>>chaxun_name;struct student *p; if(head==NULL) cout<<”联系人为空“;p=head;for(i=0;i if(strcmp(chaxun_name,p->name)==0){ cout<<”缺课时间:“< time<<”学生姓名:“< name<<”课程名称:“< lesson_name<<”节次:“< lesson_time< 早退次数:“< zaotui_num<<”请假次数:“< qingjia_num<<”旷课次数:“< kuangke_num< p=p->next; //p的指针内容变成了p->next } } struct student *xiugai(struct student *head){ char xiugai_name[50];char xiugai_xueke_name[50];int k;cout<<”请输入要修改的学生姓名与学科名称【格式:学生姓名(空格)学科名称】:“;cin>>xiugai_name>>xiugai_xueke_name;struct student *p1,*p2; p2=(struct student *)malloc(LEN);p1=head;if(head==NULL){ cout<<”没有学生信息n“; return head;} while((strcmp(xiugai_name,p1->name)!=0||strcmp(xiugai_xueke_name,p1->lesson_name)!=0)&&(p1->next!=NULL)) p1=p1->next; if(strcmp(xiugai_name,p1->name)==0&&strcmp(xiugai_xueke_name,p1->lesson_name)==0){ cout<<”===================================修改信息 =================================n“; cout<<” 1-修改缺课时间 n“; cout<<” 2-修改学生姓名 n“; cout<<” 3-修改课程名称 n“; cout<<” 4-修改第几节缺课 n“; cout<<” 5-修改迟到次数n“; cout<<” 6-修改早退次数n“; cout<<” 7-修改请假次数n“; cout<<” 8-修改旷课次数nn“; cout<<”==================================n“; cin>>k; switch(k) { case 1: cout<<”请输入新的缺课时间:“; cin>>p1->time; break; case 2: cout<<”请输入新的学生姓名:“; cin>>p1->name; break; case 3: cout<<”请输入新的课程名称:“; cin>>p1->lesson_name; break; case 4: cout<<”请输入新的缺课节次:“; cin>>p1->lesson_time; break; case 5: cout<<”请输入新的迟到次数:“; cin>>p1->chidao_num; break; case 6: cout<<”请输入新的早退次数:“; cin>>p1->zaotui_num; break; case 7: cout<<”请输入新的请假次数:“; cin>>p1->qingjia_num; break; case 8: cout<<”请输入新的旷课次数:“; cin>>p1->kuangke_num; break; } } return head; } struct student *creat(){ int i,b; struct student *head,*p1,*p2; cout<<”请输入要建立资料的学生人数:“; cin>>b; head=p2=NULL; p1=(struct student *)malloc(LEN); cout<<”【输入格式:缺课时间(空格)学生姓名(空格)课程名称(空格)第几节(空格)迟到次数(空格)早退次数(空格)请假次数(空格)旷课次数】n“; cout<<”请输入第1名学生信息:“; cin>>p1->time>>p1->name>>p1->lesson_name>>p1->lesson_time>>p1->chidao_num>>p1->zaotui_num>>p1->qingjia_num>>p1->kuangke_num; head=p1; p2=p1; student_num+=1; for(i=1;i { p1=(struct student*)malloc(LEN); cout<<”请输入第“< cin>>p1->time>>p1->name>>p1->lesson_name>>p1->lesson_time>>p1->chidao_num>>p1->zaotui_num>>p1->qingjia_num>>p1->kuangke_num; p2->next=p1; p2=p1; student_num+=1; } p2->next=NULL; return head;} void print(struct student *head){ struct student *p;p=head;if(p==NULL) cout<<”没有学生信息n“;while(p!=NULL) { cout<<”缺课时间:“< time<<”学生姓名:“< lesson_name<<”节次:“< lesson_time< zaotui_num<<请假次数:”< qingjia_num<<旷课次数:“< kuangke_num< p=p->next;} } struct student *tongji_lesson(struct student *head){ struct student *p1,*p2,*p3;char lesson[50];long look_time1,look_time2;int xunhuan_num=0;p3=(struct student *)malloc(LEN);if(head==NULL){ cout<<”没有学生信息“; return(head);} p1=head;p2=p1->next;while(xunhuan_num while(p2!=NULL) { if(p2->kuangke_num>p1->kuangke_num) { p3->chidao_num=p2->chidao_num; p3->kuangke_num=p2->kuangke_num; p3->qingjia_num=p2->qingjia_num; p3->zaotui_num=p2->zaotui_num; p3->lesson_time=p2->lesson_time; p3->time=p2->time; strcpy(p3->lesson_name,p2->lesson_name); strcpy(p3->name,p2->name); p2->chidao_num=p1->chidao_num; p2->kuangke_num=p1->kuangke_num; p2->qingjia_num=p1->qingjia_num; p2->zaotui_num=p1->zaotui_num; p2->lesson_time=p1->lesson_time; p2->time=p1->time; strcpy(p2->lesson_name,p1->lesson_name); strcpy(p2->name,p1->name); p1->chidao_num=p3->chidao_num; p1->kuangke_num=p3->kuangke_num; p1->qingjia_num=p3->qingjia_num; p1->zaotui_num=p3->zaotui_num; p1->lesson_time=p3->lesson_time; p1->time=p3->time; strcpy(p1->lesson_name,p3->lesson_name); strcpy(p1->name,p3->name); } p1=p2; p2=p2->next; } p1=head; p2=p1->next; xunhuan_num++;} cout<<”请输入要查看的学科名称:“;cin>>lesson;cout<<”请输入要查看的时间范围【输入格式:时间(空格)时间】“;cin>>look_time1>>look_time2;p1=head; while(p1!=NULL){ if(strcmp(lesson,p1->lesson_name)==0&&look_time1<=p1->time&&p1->time<=look_time2) cout<<”学生姓名:“< name<<” 旷课次数:“< kuangke_num< p1=p1->next;} return head;} struct student *tongji_student(struct student *head){ struct xueke a[10];int n,i,j,zhongjian;struct student *p1;char zhongjian_name[50];long look_time1,look_time2;if(head==NULL){ cout<<”没有学生信息n“;return head; } cout<<”请输入一共的学科数:“;cin>>n;for(i=0;i cout<<”请输入第“<>a[i].xueke_name;a[i].people_num=0; } cout<<”请输入要查看的时间范围由小到大【输入格式:时间(空格)时间】“;cin>>look_time1>>look_time2;p1=head;for(i=0;i while(p1!=NULL&&look_time1<=p1->time&&p1->time<=look_time2) { if(a[i].xueke_name==p1->lesson_name) a[i].people_num+=p1->kuangke_num; p1=p1->next;} p1=head; } for(j=0;j for(i=0;i { if(a[i].people_num { zhongjian=a[i+1].people_num; a[i+1].people_num=a[i].people_num; a[i].people_num=zhongjian; strcpy(zhongjian_name,a[i+1].xueke_name); strcpy(a[i+1].xueke_name,a[i].xueke_name); strcpy(a[i].xueke_name,zhongjian_name);} else if(a[i].people_num==a[i+1].people_num&&strcmp(a[i].xueke_name,a[i+1].xueke_name)>0) { zhongjian=a[i+1].people_num; a[i+1].people_num=a[i].people_num; a[i].people_num=zhongjian; strcpy(zhongjian_name,a[i+1].xueke_name); strcpy(a[i+1].xueke_name,a[i].xueke_name); strcpy(a[i].xueke_name,zhongjian_name);} } for(i=0;i struct student student_ziliao[100];int i=0,n=0;if((fp1=fopen(”xueshengziliao.txt“,”rb+“))==NULL){ printf(”cannot open filen“); return(head);} while(!feof(fp1)){if(fread(&student_ziliao[i],LEN,1,fp1)!=1) {if(feof(fp1)) {fclose(fp1); break;} printf(”file read errorn“);} i++;} n=i;student_num=n;p1=p2=(struct student *)malloc(LEN);head=p1;for(i=0;i p1->kuangke_num=student_ziliao[i].kuangke_num; strcpy(p1->lesson_name,student_ziliao[i].lesson_name); p1->lesson_time=student_ziliao[i].lesson_time; strcpy(p1->name,student_ziliao[i].name); p1->qingjia_num=student_ziliao[i].qingjia_num; p1->time=student_ziliao[i].time; p1->zaotui_num=student_ziliao[i].zaotui_num; p2->next=p1; p2=p1; p1=(struct student*)malloc(LEN);} p2->next=NULL;return(head);} void chucun(struct student *head){ struct student *p1;p1=head;fp1=fopen(”xueshengziliao.txt“,”wb+“);while(p1!=NULL){fwrite(p1,LEN,1,fp1); p1=p1->next;} fclose(fp1);cout<<” 储存成功n“;} void main(){ struct student *head;int a,b,c;zhuye: cout<<”********************** 欢迎使用学生考勤管理系统 ************************n“; cout<<” 1_进入管理nnn“; cout<<” 2_查看系统相关信息nnn“;cout<<”********************************************************************************nnnnn“; cin>>a; if(a==1) { do { cout<<”********************************************************************************n“; cout<<” 1_建立学生缺课记录n“; cout<<” 2_修改学生缺课记录n“; cout<<” 3_查询学生缺课记录n“; cout<<” 4_查看单科旷课记录n“; cout<<” 5_查看学生旷课记录n“; cout<<” 6_载入学生旷课记录n“; cout<<” 7_储存学生旷课记录n“; cout<<” 8_退出考勤管理程序n“;cout<<”********************************************************************************n“; cin>>b; switch(b) { case 1: head=creat(); print(head); break; case 2: head=xiugai(head); print(head); break; case 3: chaxun(head); break; case 4: head=tongji_lesson(head); break; case 5: head=tongji_student(head); break; case 6: head=zairu();print(head); break; case 7: chucun(head); break;} }while(b!=8); } else {cout<<”********************************************************************n“; cout<<”******************************1*************************************n"; cin>>c; if(c==1) goto zhuye; } } 欢迎使用本返 回 主 页 系统请 按 关于加强资助考勤及规范学籍资助点名的相关规定 一、资助考勤 1、从2015年春季学期开始,省内各中职学校正式启用面部指纹考勤系统,用于管理中职学生和中职学校资助资金。 2、上级文件规定“考勤系统”的考勤对象为:省内各中职学校全日制正式学籍一、二、三年级所有学生,重点是享受免学费资助的学生。三年级离校实习的学生,可不需要考勤,但要在系统中标明离校实习及实习地点。针对这一规定,要求各系在安排三年级学生离校实习时,必须按办证科要求的文档格式提前将学生实习地点及名单上报教学处,并按教育局要求准备好两份函——学校派出函和实习单位接收函,以备教育局点名检查使用。 3、启用考勤系统后,省上将依据考勤数据分配和结算资助资金,评估市、州和省属中职学校学生资助工作。因此要求各系要加强对学生的管理和稳定工作,确保每月考勤的顺利进行。如果因学生不在校而未考勤,将影响上级部门对学校的资金结算。 4、上级文件规定若因考勤设备损坏而导致无法考勤的学校,将视为学生流失,停止拨付或清退资助资金。因此要求各系在使用考勤机时要爱惜设备,系上如因管理不善造成无法考勤将给学校带来巨大损失。 二、学籍资助点名 1、从2015年春季开始,上级教育部门将加强对中职学生的学籍资助点名,每月都会到校核查人数和核查学籍资助系统。因此各系要尽量减少学生请假人数,如果有学生确认流失要及时报办证科,以便在系统中进行处理。 2、一、二年级学生如果安排在校外进行教学实习,各系必须提前准备好两份函(以每个月为单位开具)——学校派出函和实习单位接收函,以备教育局点名检查使用。 3、点名时确有学生请假的,请各系提前备好规范请假条(已传到各系教务科),请假条由学生填写,不能由一人代写。 附:学生打卡考勤管理制度 学生打卡考勤管理制度 按四川省中职学校资助政策,将把各中职学校的考勤人数将作为国家下拨免学费资金和发放国家助学金人数的唯一依据,为贯彻落实我校学生打卡考勤工作,在严格执行现有学生考勤制度的基础上,特制定本制度。 一、考勤及请假制度 1、所有在校学生必须严格遵守学校现行的考勤制度,按时到校上课。 2、凡因病、因事不能到校上课者,应办理请假手续。 3、学生请事假必须由家长至少提前一天电话告之班主任,经班主任审核同意后才能办理请假手续。 4、学生请病假必须经请医院出具证明,报班主任审核同意才能办理请假手续。突发意外重大伤害或疾病,先送医院医治,后补请假手续。 5、一天以内的病、事假经班主任审核同意后办理;一天以上,三天以内的病、事假经班主任审核后报德育科审核,同意后办理;三天以上的病、事假经班主任和德育科审核后,报系处长审核,同意后办理。 6、未经请假或请假未获批准而不到校上课的学生,作旷课处理。因此导致不能按时参加当月打卡考勤,不能申请到当月国家免学费和助学金的责任,由学生自行承担。其中未申请到的免学费金额由学生本人当月向学校交纳。 7、班主任和德育科未尽到对学生请假的审核责任或超越请假权限准假,导致学生不能按时参加当月打卡考勤,不能申请到当月国家免学费和助学金的责任,由班主任和德育科承担。其中未申请到的免学费金额由班主任和德育科向学校交纳。 二、打卡制度 1、所有在校学生必须严格按照上级教育主管部门和办证资助科的要求,参与定时(按月)和不定时(随机抽打)的打卡考勤。 2、到我校前曾就读过中职校或技工校的学生,必须主动到原就读学校注销学籍和考勤信息后,才能参加我校的打卡考勤。因未及时注销原学籍和考勤信息,导致不能按时参加当月打卡考勤,不能申请到当月国家免学费和助学金的责任,由学生自行承担。其中未申请到的免学费金额由学生本人向学校交纳。 3、班主任必须积极组织学生配合办证资助科对学生脸谱及指纹信息的采集工作,以及打卡考勤工作。此项工作纳入学校对班主任的考核项目。 4、凡在打卡期间请假未能打卡的学生必须承担未享受免学费费用,且需当月完清费用。第五篇:关于加强资助考勤及规范学籍资助点名的规定