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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生考勤管理系统报告.docx

1、学生考勤管理系统报告 学 院 数据结构课程设计任务书课程设计题目: 考勤管理程序的设计与实现 系 别 数学与计算机科学系 班级信管 1 学生姓名 学号 指导教师 职称 讲师 课程设计进行地点: 任 务 下 达 时 间: 20 11 年12 月19日 起止日期: 2011年12月19日起至 2011 年12 月23日止一、课程设计的目的课程设计比教学实验复杂一些,涉及的深度广些并更加接近实用。目的一方面是通过课程设计的综合训练,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务;另一方面,通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和

2、技巧,培养学生的实际分析问题、编程和动手能力,提高学生用程序的思想来解决实际问题的能力。二、课程设计要求1、遵守课程设计时间安排,按时上机。2、认真查找相关的资料,理解相关的知识内容。3、认真调试程序,组员之间应加强团队合作,取长补短,共同分析问题解决问题。4、根据设计题目规定的具体要求进行具体规范操作。5、认真撰写课程设计报告,避免相互抄袭。三、对课程设计说明书撰写内容、格式、字数的要求1课程设计报告是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、实验器材、设计原理及内容、设计具体步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。2在适当位置配合相应

3、的实验原理图、实验数据表、问题分析流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。4课程设计报告打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距20磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计报告装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。四、设计题目五、成绩评定评定成绩根据系统功能、界面效果,系统操作的方便性、灵活性等方面进行,主要从

4、三个方面进行考虑:1、对问题的理解程度;2、成果的好坏;3、设计报告。评定结果:不及格、及格、中、良好、优秀。 六、时间进度安排顺序阶段日期计 划 完 成 内 容备注12011.11.182011.11.19确定设计课题22011.11.202011.12.07资料查询32011.12.082011.12.09概要设计42011.12.102011.12.12数据结构设计52011.12.132011.12.19功能模块开发62011.12.202011.12.22功能模块调试72011.12.132011.12.24系统运行和修改七、主要参考文献学 院 数 学 与 计 算 机 科 学 系考勤

5、管理程序设计与实现课程设计成绩评定表教研室: 班级: 学生姓名: 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调 研论 证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态 度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工 作 量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质 量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年

6、 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查 阅文 献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工 作 量工作量饱满,难度适中。0.55432说明书的质 量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分摘 要 1第一章 绪论 01.1 课题背景 01.2 课题目的和要求 01.3 课题意义 02.1 功能需求 12.2 数据需求 12.3性能需求 13.1功

7、能模块设计 23.2系统设计方案 24.1修改学生缺课记录子模块 34.2修改学生缺课记录子模块 44.3查看单科旷课记录子模块 54.4查看学生旷课记录子模块 54.5载入学生旷课记录子模块 64.6储存学生旷课记录子模快 7第五章 调试与测试 95.1调试 95.2测试 9结束语 10致 谢 11参考文献 12附录1用户手册 0附录2源程序 4摘 要20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。学生考勤管理程序是信息管理系统的一个子系统,一个基于单机版的系统。因为随着计算机技术的不断进步与发展,计算机已经深入到

8、人们日常生活的每个角落,例如:政府部门,企事业单位,学校等等。该系统开发功能主要包括:管理员可以通过计算机设置学生考勤管理程序,打印供学校及个人使用。该程序是使用C语言编写的学生考勤统计程序。关键词:考勤;姓名;缺课类型;课程名称第一章 绪论1.1 课题背景程序实践是本科生重要教学环节之一。通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识, 加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力。学生考勤管理程序是学校管理工作中一个比较重要的任务,过多的学生考勤管理程序工作给学校管理人员带来了很大麻烦的。虽然原始的记录方法在一定的程度上可以解决问题,可是现在

9、计算机已经走到了我们的生活,它的不足之处就显而易见了。 学生考勤管理程序,是一个对于学生考勤的管理系统, 不仅大大减少了考勤管理人员的大量的工作,而且还方便了班级和学校对学生出课率的查询,只要通计算机登入本系统就能及时修改、更正学生的考勤信息,使信息真实、有效。这样节省了大量人力物力,节省了宝贵的时间,大大提高了工作效率.用C语言进行了该系统的编写。操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。1.2 课题目的和要求目的:要求实现-“学生考勤管理程序”记录学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。要求: 1

10、.录入学生的缺课记录;2修改某个学生的缺课记录;3查询某个学生的缺课情况;4统计某段时间内,某门课旷课学生姓名及旷课次数,按旷课次数由多到少排序; 5统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序。1.3 课题意义程序实践是本科生重要教学环节之一。通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识, 加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力。学生考勤管理程序可以大大减缓学生考勤人员的工作量, 方便了平时上课学生的出勤率的管理。第二章 系统分析需求分析是软件定义时期的最后一个阶段,它更是开发一个好的软件的基础。它的基本任务是准确

11、地回答“需要此软件的人都需要哪些功能?”这个问题。需求分析的主要任务是确定系统必须完成哪些工作,也就是对目标系统提出完整的准确的具体的清晰的要求,确定系统必须具有的功能和性能,系统要求的运行环境,以及预测系统发展的前景开发一个好的软件,进行深入细致的可行性研究是极其必要的,而且还必须做大量的,全,并仔细分析系统中的数据,以便完善良好的软件环境。在需求分析阶段系统分析员将仔细研究软件所需要完成的具体功能。2.1 功能需求本系统主要是学校和老师对学生出课情况的统计系统。该系统需要有建立,修改,查询,载入,储存,退出功能,利用查询功能分开查看某一门课程或者某一个学生的缺课记录,方便老师与学校统计。2

12、.2 数据需求本系统主要涉及的数据有学生缺课信息。学生缺课信息包括缺课时间,学生姓名,课程名称,第几节,学生迟到次数,早退次数,请假次数,旷课次数。2.3性能需求 要求系统具有可靠性,速度要快。第三章 总体设计3.1功能模块设计根据分析整个系统主要划分为7个功能模块,分别执行要求中的功能。数据管理中实现对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改,以及具体缺课缺课内容,是迟到、早退、请假、旷课。查询管理通过根据学生姓名,课程姓名 时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录。功能模块图如图1所示。图1 功能模块图3.2系统设计方案此程序是过

13、程性语言设计的。运用多种条件语句,主体采用的是链表指针。系统的设计采用了数组语句、选择语句和循环语句,在需要处理大量同类数据时,这样就使程序书写更加简洁。程序使用了布尔函数。选择语句多采用if多分支选择结构与switch语句。首先计算switch表达式,然后在caes子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行。循环语句采用了for语句等、do-while语句,for语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。do-while语句先循环后判断, Break语句在switch语句中,保证多分支情况的正确执行,在循环语句中,强制终

14、止本层循环。保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的。第四章 详细设计4.1修改学生缺课记录子模块根据要修改的学生姓名以及科目名称找到相应的信息,再选择要修改的项目进行单项修改,如图2所示。 图2 找到相应的信息4.2修改学生缺课记录子模块根据人名可以查出该学生的所有缺课记录 如图3所示。 图3 查找缺课记录4.3查看单科旷课记录子模块根据学科名称和时间范围查出所有在该范围内旷课的学生以及次数 如图4所示。 图4 查看学生单科旷课记录4.4查看学生旷课记录子模块根据要查询的学科名称及时间段查出在改时间段内该门课上旷课的人数 如图5所示。

15、图5 查看学生旷课记录4.5载入学生旷课记录子模块可以载入实现储存在当前文件夹中txt文件中所储存的数据 如图6所示。 图6 载入学生旷课记录4.6储存学生旷课记录子模快进入系统界面,顺序的完成各项操作,进行数据的输入,信息的保存调用相应的函数打开相应的地址,查询各项信息。如图7所示。 图7 储存学生旷课记录第五章 调试与测试5.1调试此程序是用VC程序编写,调试过程中在菜单中选择乍看学生旷课记录,程序不执行。因为没有加入选择的case语句。后在switch后加一个case就可以自动执行了。5.2测试由于程序的源代码是在记事本文本中复制到VC中的,有些printf后比较长的语句会被放到下一行,

16、使程序出现多处类似的错误,经过在VC中的修改,程序得以正常的运行。5.3 结论课程设计顺利完成,题目所要求的功能也都一一实现,可以对学生的缺课信息进行添加,修改,删除以及查询的显示。不过这个程序还有些不够完善,例如不能往当前文件夹中的txt文件中添加记录。结束语整个系统的设计过程对于我来说算是个学习、探索的过程,通过实践和对比别人开发程序的过程。在整个设计过程中,出现过很多的问题,很多繁琐的东西都需要反复的修改,主要是前期工作不彻底,对系统的需求分析的要求认识不够清楚,使得在后边的工作中不得不经常反复去修改。使我体会到设置中每一步的重要性。所以在分析一个问题时,我们需要站在一个有远见的高度。通

17、过此次设计,我不但对C语言编程有了更深刻的认识,积累了使用软件工程的思想来开发软件的经验,更重要的是学会了在对待问题时应该考虑到哪些方面和怎么解决问题。虽然时间紧迫但我学会了很多,也感到自身知识的贫乏,希望在日后的努力中能做出更完善的系统。致 谢这次C语言的程序设计,对于我来说是一个挑战。我在C语言的学习过程中的困难并不只在程序的设计中有所体现,每一个函数都设计好了,也调试好了,把它们分开运行并没有错误,但是当把它们组合成一个程序时,便是一个一个地出现错误;把这个问题解决了,另一个新问题又来了。这不能不说是对知识的欠缺。通过这次的程序设计,我懂得了无论什么事都要去做才会发现问题,才有可能去解决

18、问题。对知识的学习,不能潜偿辄止,要深入去学习,去了解,这样才会有所收获。有许多东西,许多事,不是想像中的那么容易,不去实践,永远也不会有提高,尤其是学习计算机。同时,在这次课程设计的过程中,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,不能只是学习和重视书本上的理论知识,所以日后在学习过程中,我会更加注视实践操作,使自己更好地学好计算机这门课程。 以前做实验题目的时候总是感觉很难,因为根本就不知道从哪里开始。这次课程设计让我对编程有了新的认识,也是我知道了只有自己亲自动手才能学到更多东西。拿到题目的时候也是很困惑但仔细琢磨后也不

19、是想象中那么难,觉得就是上课讲到的一些内容,是自己先把自己吓住了。后来,参照书上的和网上的诸多例子,一个模块一个模块的编写,调试,一个功能一个功能去完善。发现越做越顺利,由于以前的实验中对于改错的经验积累和几个学得不错的同学的帮助,我的程序中的错误也一个一个的顺利解决。再后来,等我的程序完全做好以后,我竟然可以独立的帮同学修改一些以前根本不知所以然的错误,其实,从这次实验中我认识到,我距离高手还很远,编程有很多的乐趣也有很多的技巧性和知识性。我将在以后的日子里继续认真的学习知识,积累经验,让自己的编程能力提高。总之,我决得编程就是要请自动手,孰能生巧,感谢学校给我们这次机会使我们通过这次试验学

20、到了很多东西。参考文献1谭浩强.C语言程序设计(第三版).北京:清华大学出版社2林碧英.C语言程序设计教程. 北京:中国电力出版社,20063美赫伯特.希尔特,王子恢等译.C语言大全. 北京:电子工业出版社.20064姜灵芝,余健.C语言课程设计案例精选. 北京:清华大学出版社,2008附录1用户手册主菜单图1 主菜单1.建立学生缺课记录图2建立学生缺课记录 2.修改学生缺课记录 图3修改学生缺课记录3.查询学生缺课记录图4查询学生缺课记录4.查看单科旷课记录图5查看单科旷课记录5.查看学生旷课记录图6查看学生旷课记录6.储存学生旷课记录图7储存学生旷课记录7.载入学生旷课记录图8载入学生旷课

21、记录8. 退出程序图9退出程序附录2源程序#include#include#include#define NULL 0#define LEN sizeof(struct student)int student_num;FILE *fp1;struct xuekechar xueke_name50; int people_num;struct xueke a10;struct student char name50; long time; int lesson_time; char lesson_name50; int chidao_num; int zaotui_num; int qingji

22、a_num; int kuangke_num; struct student *next;void chaxun(struct student *head) int i; char chaxun_name50; printf(请输入要查询的人名【若没有这个人则不显示】:); scanf(%s,chaxun_name); struct student *p; if(head=NULL) printf(联系人为空); p=head; for(i=0;iname)=0) printf(缺课时间:%ld 学生姓名:%s 课程名称:%s 第%d节 迟到次数:%d 早退次数:%d 请假次数:%d 旷课次

23、数:%dn,p-time,p-name,p-lesson_name,p-lesson_time,p-chidao_num,p-zaotui_num,p-qingjia_num,p-kuangke_num); p=p-next; struct student *xiugai(struct student *head)char xiugai_name50; char xiugai_xueke_name50; int k; printf(请输入要修改的学生姓名与学科名称【格式:学生姓名(空格)学科名称】:); scanf(%s%s,xiugai_name,xiugai_xueke_name); st

24、ruct student *p1,*p2; p2=(struct student *)malloc(LEN); p1=head; if(head=NULL) printf(没有学生信息n); return(head); while(strcmp(xiugai_name,p1-name)!=0&(p1-next!=NULL)&strcmp(xiugai_xueke_name,p1-lesson_name)!=0) p1=p1-next; if(strcmp(xiugai_name,p1-name)=0&strcmp(xiugai_xueke_name,p1-lesson_name)=0) pri

25、ntf(=n); printf( 1-修改缺课时间 n); printf( 2-修改学生姓名 n); printf( 3-修改课程名称 n); printf( 4-修改第几节缺课 n); printf( 5-修改迟到次数 n); printf( 6-修改早退次数 n); printf( 7-修改请假次数 n); printf( 8-修改旷课次数 n); printf(=n); scanf(%d,&k); switch(k) case 1: printf(请输入新的缺课时间); scanf(%ld,&p1-time); break; case 2: printf(请输入新的学生姓名); scan

26、f(%s,p1-name); break; case 3: printf(请输入新的课程名称); scanf(%s,p1-lesson_name); break; case 4: printf(请输入新的第几节缺课); scanf(%d,&p1-lesson_time); break; case 5: printf(请输入新的迟到次数); scanf(%d,&p1-chidao_num); break; case 6: printf(请输入新的早退次数); scanf(%d,&p1-zaotui_num); break; case 7: printf(请输入新的请假次数); scanf(%d,

27、&p1-qingjia_num); break; case 8: printf(请输入新的旷课次数); scanf(%d,&p1-kuangke_num); break; return(head);struct student *creat() int i,b; struct student *head,*p1,*p2; printf(请输入要建立资料的学生人数:); scanf(%d,&b); head=p2=NULL; p1=(struct student *)malloc(LEN); printf(【输入格式:缺课时间(空格)学生姓名(空格)课程名称(空格)第几节(空格)迟到次数(空格)

28、早退次数(空格)请假次数(空格)旷课次数】n); printf(请输入第1名学生信息:); scanf(%ld%s%s%d%d%d%d%d,&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+; for(i=1;itime,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+; p2-next=NULL; return

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

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