第一篇:学生考勤管理系统
学生考勤管理系统
系统设计开发:张文聪
网站意义:
学生考勤对学校教务管理是至关重要的,传统的学生出勤检查往往是教师拿着一张纸质名单逐一点名,或让学生上交课堂作业以便课后查询出勤情况。这些方法往往具有考勤效率低下,没有系统的记录和整理,容易丢失遗漏,耽误时间等缺点。针对以上问题,开发一种针对学生考勤的网上管理系统,通过本系统,教师可以再课堂上直接登录考勤记录网站进行课堂点名,记录学生考勤情况等。此外,在课余,任课教师、班主任以及学校领导也可以登录该网站查询某班学生在某学科课程的出勤情况。
需求分析:
1、提供学生和老师两个登录用户;
2、学生可以查询自己的出勤情况;
3、任课老师可以查询自己带的班级学生的出勤情况;
4、班主任可以查询本班级学生在每一学科的出勤情况。
5、实现科任老师和班主任查询结果的报表打印。
网站设计图:
开发运行平台:
主要以Microsoft Visual Studio.NET 2008 为开发平台,SQL Server 2000为后台数据库,采用.NET技术,结合C#和JavaScript构造应用程序。
功能模块说明:
1、学生信息管理
包括了学生的个人信息,所在班级,学号,姓名和学生每个学科的出勤情况。
2、学科信息
包括了每一个学科的课程名称,课程号和每一个课程对应的任课教师。
3、出勤模块
包括了全校所有学生对应每一学科课程的出勤情况。班主任和科任老师可以查询对应的班级学生出勤情况并打印出来。
网站总结:
本系统针对在校学生每一节课的考勤情况作记录,方便班主任对本班学生出勤率的查看可以及时做好教育防范工作。根据教务处的需求,我们还会将本系统继续扩大,添加进学生早操、值日和会议等功能,以及学生通过系统请假,老师或领导批假等功能。
第二篇:考勤管理系统
目 录
一. 选题的背景
随着计算机与信息技术的普遍提高,越来越多的单位使用计算机来管理档案,这样就在很大程度上提高了管理的效率。近几年来高校的扩大招生,一方面给广大民众提供了越来越多的教育机会,另一方面也使学校的管理工作加重了。学生注册管理采用手工录入和打印数据的方式,显然难以保证学生数据的准确无误和实时更新,迫切需要一种新的现代化管理体制对学生进行管理。二.课题的提出意义
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生注册管理软件是使用计算机科学管理的办法对学生的学籍、班级、课程、成绩、奖罚信息等进行管理。不仅具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低的优点,还使学生注册信息的实时性、精确性和学生注册工作的各个环节结合起来,极大地提高学生注册管理的效率,减轻了高校学生管理的负担。
本系统所实现的学生注册管理系统就是以VB和Access为编程环境来实现其制作和开发过程的,通过对学生注册管理系统进行需求分析、总体设计和详细设计逐步将一个学生注册管理系统的开发过程呈现出来。没有可以追求专业性和商品化软件的华丽包装,而是本着简单、实用的原则,既在功能上满足用户的需求,又力求操作简便,使本系统容易掌握和使用。
三.本系统的功能及特点
经分析系统共分为八个模块:用户管理模块、班级管理模块、学生学籍模块、课程管理模块、成绩管理模块、奖惩管理模块、个人信息查询模块,并得到如图1 所示的系统功能模块组织结构图。其中每个模块分别实现以下功能:
1)用户管理:管理使用学生注册管理系统的用户信息,包括系统用户的添加、修改、删除和浏览.2)班级管理:管理使用学生的班级信息,包括学生所在班级的添加、修改、删除和查询。
3)学生注册管理:管理在校学生的学籍信息,包括学生学籍的添加、修改、删除和查询。
4)课程管理:管理学生课程的各种信息,包括学生课程的基本课程设置和班级课程设置。
5)成绩管理:管理学生在校的所有成绩,包括学生成绩的添加、修改、删除和查询。
6)奖惩管理:管理学生在校的奖惩信息,包括学生奖惩管理的添加、修改、删除和查询。
7)个人信息查询:关于学生的各种相关信息,包括学生的性别、年龄、籍贯、身份等。
四.管理系统的现状
管理信息系统(MIS)是一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体。1985年,管理信息系统创始人,明尼苏达大学卡尔森管理学院的著名教授戴维斯(Gordon.B.Davis)给出了一个具有代表性的定义:“管理信息系统是一个利用计算机硬件和软件,手工作业、分析、计划、控制和决策模型以及数据库的用户-机器系统。它能提供信息支持企业或组织的运行、管理和决策功能。”
随着网络技术的出现,管理信息系统又有了新的必恭必敬,基于网络的管理信息系统不断出现,管理信息系统的概念模型也发生了相应的变化,许多学者对管理信息系统给出了新的定义。例如劳顿认为:“管理信息系统是一个基于计算机的信息系统,它通过收集、处理、存储和扩散信息,来支持组织的管理、决策、合作、控制、分析活动,并使之可视化。”
第三篇:学生考勤管理系统设计报告
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; } } 欢迎使用本返 回 主 页 系统请 按 赵彬:电子商城系统 学生点名考勤系统 摘要 随着社会的反展和信息技术的进步,全球信息化的趋势越来越明显。几乎没有一个学校不在走信息化的路子,都在用自己的智慧将工作效率一步一步的提升。在现在的高校中,由于学生的分布式教学,造成了教学管理的不严谨性,使得一些学生产生了逃课旷课的侥幸心理。所以教师的任务不仅仅是教学,还要同时负担考勤等烦杂的日常事务,这样就会严重影响到教师的授课时间,同时也影响了学生的听课时间。因此,信息化给这样的一个状况带来了一个契机,基于信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效的处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学。 学生点名考勤系统具备较完备的信息管理功能,通过使用本系统,高校教师能够在很短的时间内完成学生的考勤任务,并将考勤信息存入数据库,即有效的保存了数据,方便以后对学生的评定,又节省了考勤所耗费的时间,使之能够更好的完成教学任务。全文共分为:前言、系统需求分析、系统逻辑方案、系统总体设计、系统详细设计、系统实施等六部分,通过对高校学生考勤工作流程的具体分析,详细表述了系统的业务流程图、数据流程图、数据字典、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数据库实现。 考勤管理系统是企业对考勤实行了信息化管理,考勤管理中主要涉及的管理任务有5个方面:部门信息管理、员工基本信息管理、考勤信息管理、考评信息管理以及系统管理。 因此,我使用Visual FoxPro6.0数据库开发系统作了考勤管理系统。员工的基本信息、员工考勤、考评管理、系统用户管理,适用于机关、金融和各企事业单位。 考勤系统的目的是为实现员工考勤数据采集、数据统计和信息查询过程的自动化,完善人事管理现代化,方便员工上班报到,方便管理人员统计、考核员工出勤情况,方便管理部门查询、考核各部门出勤率;准确地掌握员工出勤情况,有效地管理、掌握人员流动情况,适用于机关、金融和各企事业单位。 利用指纹生物识别唯一性特征进行考勤。避免传统的纸卡、IC卡考勤机代打卡的缺点。指纹考勤机验证有1:1和1:N比对方式。 指纹考勤机介绍 随机配发软件包含前台系统和后台管理系统两大部分。其中,前台系统包含指纹签到及指纹登记两大模块;后台管理系统包含基本信息管理 资料管理、考勤管理、薪资管理等四大模块。指纹签到 实时识别考勤人的员工编号,并与当前时间一起写入到后台数据库中; 自动判别是否已经在短时间内考勤过,若己考勤过则提示; 对无指纹数据录入的员工可以使用员工编号加密码的方式进行考勤。 指纹登记 为员工登记考勤所需的指纹,每员工最多可以登记三枚; 登记后比对,看登记是否成功,以及是否能够正确识别,若比对出错、可重新登录删除作废的指纹: 登记无指纹员工的考勤密码。 基本信息管理 设置使用单位,并为正式用户注册: 设置操作员(新增操作员默认密码均为707)及其权限: 设置部门代码及部门名称; 设置工种、职务、级别等基本治总代码及名称。 员工资料管理 员工入职及变更登记: 查询及统计各部门在职人员; 员工离职登记; 查询及删除己离职员工; 打印人事日报表: 打印人事月报表; 考勤管理 设置考勤规则; 设置轮班名称及排班班别; 设置工种假期名称及放假日期; 设置个人出差休假请假类别及日期; 设置员工加班类别及日期; 设置员工调班; 设置特许考勤员工及日期; 按日考勤统计及汇总; 按月考勤统计; 打印原始考勤记录第四篇:学生点名考勤系统(范文)
第五篇:员工考勤管理系统