好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言课程设计学生考勤管理系统.doc

30页
  • 卖家[上传人]:hs****ma
  • 文档编号:403200070
  • 上传时间:2022-10-10
  • 文档格式:DOC
  • 文档大小:1.37MB
  • / 30 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 学生考勤管理系统学生考勤管理系统目录1. 绪论 11.1 课题背景 11.2 课题目的和要求 11.3 课题意义 22. 系统分析 22.1 功能需求 22.2 数据需求 32.3性能需求 33. 总体设计 33.1功能模块设计 33.2系统设计方案 34. 详细设计 44.1建立学生缺课记录子模块 44.2修改学生缺课记录子模块 54.3修改学生缺课记录子模块 64.4查看单科旷课记录子模块 74.5查看学生旷课记录子模块 84.6载入学生旷课记录子模块 94.7储存学生旷课记录子模快 95. 调试与测试 105.1调试 105.2测试 116. 结论 11结束语 11参考文献 11附录1—用户手册 12附录2—源程序 17摘要20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务学生考勤管理程序是信息管理系统的一个子系统,一个基于单机版的系统因为随着计算机技术的不断进步与发展,计算机已经深入到人们日常生活的每个角落,例如:政府部门,企事业单位,学校等等该系统开发功能主要包括:管理员可以通过计算机设置学生考勤管理程序,打印供学校及个人使用。

      该程序是使用C语言编写的学生考勤统计程序关键词:考勤;姓名;缺课类型;课程名称1. 绪论1.1 课题背景程序实践是本科生重要教学环节之一通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识, 加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力学生考勤管理程序是学校管理工作中一个比较重要的任务,过多的学生考勤管理程序工作给学校管理人员带来了很大麻烦的虽然原始的记录方法在一定的程度上可以解决问题,可是现在计算机已经走到了我们的生活,它的不足之处就显而易见了 学生考勤管理程序,是一个对于学生考勤的管理系统, 不仅大大减少了考勤管理人员的大量的工作,而且还方便了班级和学校对学生出课率的查询,只要通计算机登入本系统就能及时修改、更正学生的考勤信息,使信息真实、有效这样节省了大量人力物力,节省了宝贵的时间,大大提高了工作效率.用C语言进行了该系统的编写操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看1.2 课题目的和要求目的:要求实现---“学生考勤管理程序”记录学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。

      要求: 1.录入学生的缺课记录;2.修改某个学生的缺课记录;3.查询某个学生的缺课情况;4.统计某段时间内,某门课旷课学生姓名及旷课次数,按旷课次数由多到少排序; 5.统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序1.3 课题意义程序实践是本科生重要教学环节之一通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识, 加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力学生考勤管理程序可以大大减缓学生考勤人员的工作量, 方便了平时上课学生的出勤率的管理2. 系统分析开发一个好的软件,进行深入细致的可行性研究是极其必要的,而且还必须做大量的,全面的需求分析,需求分析是软件定义时期的最后一个阶段,它更是开发一个好的软件的基础它的基本任务是准确地回答“需要此软件的人都需要哪些功能?”这个问题需求分析的主要任务是确定系统必须完成哪些工作,也就是对目标系统提出完整的﹑准确的﹑具体的﹑清晰的要求,确定系统必须具有的功能和性能,系统要求的运行环境,以及预测系统发展的前景,并仔细分析系统中的数据,以便完善良好的软件环境在需求分析阶段系统分析员将仔细研究软件所需要完成的具体功能。

      2.1 功能需求本系统主要是学校和老师对学生出课情况的统计系统该系统需要有建立,修改,查询,载入,储存,退出功能,利用查询功能分开查看某一门课程或者某一个学生的缺课记录,方便老师与学校统计2.2 数据需求本系统主要涉及的数据有学生缺课信息学生缺课信息包括缺课时间,学生姓名,课程名称,第几节,学生迟到次数,早退次数,请假次数,旷课次数2.3性能需求 要求系统具有可靠性,速度要快3. 总体设计3.1功能模块设计根据分析整个系统主要划分为7个功能模块,分别执行要求中的功能数据管理中实现对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改,以及具体缺课缺课内容,是迟到、早退、请假、旷课查询管理通过根据学生姓名,课程姓名 时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录功能模块图如图1所示图1功能模块图3.2系统设计方案 此程序是过程性语言设计的运用多种条件语句,主体采用的是链表指针系统的设计采用了数组语句、选择语句和循环语句,在需要处理大量同类数据时,这样就使程序书写更加简洁程序使用了布尔函数选择语句多采用if多分支选择结构与switch语句。

      首先计算switch表达式,然后在caes子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行循环语句采用了for语句等、do-while语句,for语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量do-while语句先循环后判断, Break语句在switch语句中,保证多分支情况的正确执行,在循环语句中,强制终止本层循环保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的 4. 详细设计4.1建立学生缺课记录子模块要建立的学生人数,学生基本信息(包括缺课时间、学生姓名、课程名称、第几节、迟到次数、早退次数、请假次数、旷课次数)可用creat()函数如图1. 图14.2修改学生缺课记录子模块根据要修改的学生姓名以及科目名称找到相应的信息,再选择要修改的项目进行单项修改 如图2 图24.3修改学生缺课记录子模块根据人名可以查出该学生的所有缺课记录 如图3 图34.4查看单科旷课记录子模块根据学科名称和时间范围查出所有在该范围内旷课的学生以及次数 如图4 图44.5查看学生旷课记录子模块根据要查询的学科名称及时间段查出在改时间段内该门课上旷课的人数 如图5 图54.6载入学生旷课记录子模块可以载入实现储存在当前文件夹中txt文件中所储存的数据 如图6 图64.7储存学生旷课记录子模快进入系统界面,顺序的完成各项操作,进行数据的输入,信息的保存调用相应的函数打开相应的地址,查询各项信息。

      如图7 图75. 调试与测试 5.1调试(1)此程序是用VC程序编写,调试过程中在菜单中选择乍看学生旷课记录,程序不执行因为没有加入选择的case语句后在switch后加一个case就可以自动执行了5.2测试(2)由于程序的源代码是在记事本文本中复制到VC中的,有些printf后比较长的语句会被放到下一行,使程序出现多处类似的错误,经过在VC中的修改,程序得以正常的运行6. 结论课程设计顺利完成,题目所要求的功能也都一一实现,可以对学生的缺课信息进行添加,修改,删除以及查询的显示不过这个程序还有些不够完善,例如不能往当前文件夹中的txt文件中添加记录结束语整个系统的设计过程对于我来说算是个学习、探索的过程,通过实践和对比别人开发程序的过程在整个设计过程中,出现过很多的问题,很多繁琐的东西都需要反复的修改,主要是前期工作不彻底,对系统的需求分析的要求认识不够清楚,使得在后边的工作中不得不经常反复去修改使我体会到设置中每一步的重要性所以在分析一个问题时,我们需要站在一个有远见的高度通过此次设计,我不但对C语言编程有了更深刻的认识,积累了使用软件工程的思想来开发软件的经验,更重要的是学会了在对待问题时应该考虑到哪些方面和怎么解决问题。

      虽然时间紧迫但我学会了很多,也感到自身知识的贫乏,希望在日后的努力中能做出更完善的系统参考文献[1]谭浩强.C语言程序设计(第三版).清华大学出版社[2]林碧英.C语言程序设计教程.中国电力出版社,2006[3]美赫伯特.希尔特,王子恢等译.C语言大全.电子工业出版社.2006[4]姜灵芝,余健.C语言课程设计案例精选.清华大学出版社,2008附录1—用户手册主菜单图1 主菜单1.建立学生缺课记录图2建立学生缺课记录2.修改学生缺课记录图3修改学生缺课记录3.查询学生缺课记录图4查询学生缺课记录4.查看单科旷课记录图5查看单科旷课记录5.查看学生旷课记录图6查看学生旷课记录6.储存学生旷课记录图7储存学生旷课记录7.载入学生旷课记录图8载入学生旷课记录8. 退出程序图9退出程序附录2—源程序#include#include#include#define NULL 0#define LEN sizeof(struct student)int student_num;FILE *fp1;struct xueke{char xueke_name[50]; int people_num;};struct xueke a[10];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]; 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 旷课次 数:%d\n",p->time,p->name,p->lesson_name,p->lesson_time,p->chidao_num,p->zaotui_num,p->qingjia_num,p->ku。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.