当前位置:首页 » 编程语言 » 考勤管理系统设计c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

考勤管理系统设计c语言

发布时间: 2023-03-17 18:54:09

❶ 排班系统的c语言程序

考勤排班规则班次在考勤,班次定义,就是员工上下班的标准,就是考勤的标准,其重要性不言而喻。企业中存在着各色各样的班次,而且不同的企业对班次的定义及习惯说法也不一样,理清班次的定义及其相关联的术语含义就非常有意义。下面分几个方面来描述班次及其在企业中的常见表现。一、基本班次的组成:班次定义了员工一天的上下班时间及规则,班次是由多个班段组成的,了解班次之前先了解班段。下面先说明一下相关的术语,这些术语可以辅助我们更好地交流。就类似于我们谈软件的“设计模式”一样。1、固定班段指上下班时间固定的班段。例:指定上下班时间为8:00-12:00.2、自由班段是指上下班时间是由员工自由掌握的。例:允许员工7:00-9:00之间的任一时刻上班,11:00-13:00的任一时刻下班,但要保障上满4小时。这类型的班段可称为自由班段。3、休息时段在一个班段内部,允许存在多个休息时段。4、用餐时段同休息时段类似。用餐时段可分为两类:固定用餐和自由用餐,举例说:规定中午用餐11:30-12:30,叫固定用餐,允许中午11:00-13:00之间用餐,但规定用餐时间只能是1个小时,叫自由用餐。如果规定了员工可以自由选择11:00-12:0011:15-12:1511:30-12:30之间的一个时段用餐,则可称为浮动用餐。由上面4个基本元素组合而成的班次,称为基本班次,其中休息时段或用餐时段是从属于某个班段的,这样组成的班次,能够适应大部分的情况。班次除了规定上下班时间规则外,还要定义该班次中,怎样才算迟到早退,怎样才算缺席旷工,还有其它什么异常等等,如含用餐时段的班次,就有用餐超时的异常。(每个班次都定义迟到早退缺席旷工等设定,会比较啰嗦,可做个全局默认值,如果班次中没有设定就使用默认值)二、特殊班次1、休息:休息作为一个特殊的班次指明了当天不用上班。注意指定休息并非指定当天是周日或节假日,这由其它地方定义。指定休息仅仅是指定当天不用上班。2、自由上下班:例:规定员工当天7:00-19:00可自由上下班(多个班段),只要保障上足8小时即可,或者上了多少小时班算多少。周六周日自由加班就是属于这种情况。3、互斥班组:将多个互斥的基本班次组合在一起,构成一个互斥班组。所谓互斥的,是指各个班次其上下班时间相互不交叉。计算考勤时由系统自动识别匹配是哪个基本班次。这对于两班倒或三班倒的情况下可以有效地减少排班的工作量。不建议使用互斥班组来进行排班,因为在员工多打卡或少打卡的情况下,同时加班,请假会让班次是的刷卡点改变,这都使得智能匹配过程容易产生错误。明确排班则没有这类错误。考勤应是非常严肃的,哪怕是0.0001%的错误,都会给你的考勤软件蒙上污点。4、动态班次这是一种非常特殊的班次。正常情况下,班次的定义是预先定义的,而动态班次的班次定义是由程序动态生成的。好像这不好理解,举例说,学校老师按课程表上下班,上课前30分钟要签到,下课后即可下班,没课可以不来。此时可依据课程表动态生成一个基本班次来参与考勤计算。如果不使用动态班次,则需要预定义很多个基本班次,而且也加大了排班的难度。很明显,这种班次需要二次开发定制才能使用。三、“工作天”在班次中的重要性班次解决了员工当天该如何上下班,排班指定了员工当天上哪个班次。这个天并非我们时常说的24小时的一天,而是“工作天”。一个工作天可能不止24小时。班次中定义工作天的起止时间点,加班可能会改变该时间点,从而使得一个工作天实际上不止24小时。“休息”作为一个特殊的班次,其不用指定工作天起止点。班次中如果不定义工作天,那么对于跨天加班及连续上班36小时的现象就不好处理。这里说一下员工连续工作36小时的现象(变态吧),例如:两班倒时,1号上夜班,一直加班到2号,然后接着上白班,2号下班后又加班。好像说,这不可能吧!我说说我知道的比较合理的解析。一种情况是下班后安排几个员工到医院守护病人,然后第二天继续上班,自然得付给员工加班费了。其实并不是那名员工强壮得变态,他们可以睡觉的。另一种情况是,安排员工24小时待命,机器一好就开始生产,自然这也是得给员工加班费的。所以,面对异常现象时,不要盲目下结论,调查分析后更有发言权。对于该异常,应该将加班时间分配到相应的工作天去,这也需要工作天定义。定义了工作天,考勤体系更为完整。四、用面向对象的类来因应企业班次的发展以上所说的班次,能对应企业中的普遍情况,但就能适应企业中的全部情况了吗?那肯定是不行的,随着企业的发展与需求的变化,班次也将随着变化,但无论如何变化,总要规定员工是如何上下班的,如何打卡的,怎样才算是异常等等信息,对于考勤计算来说,这个班次又是如何匹配刷卡的,如何匹配工作天的,等等信息总要在班次中定义,排班也一样,无论采用何种排班方法,总得给出当天排的是什么班次。用写SQL过程来计算考勤过程的方法,因为其对模块化及面向对象均不支持,在需求发生变更时,改动代码或看别人的代码都将变得无比艰难。用面向对象的软件方法可以在企业有新的班次类型出现时,轻松面对,而无须对软件大动干戈。用面向对象的方法则需要建立一个正确的考勤模型体系,只要考勤模型不变,变化就尽在掌握中。四公休作息日作息是每个人所必需的,五调休考勤排班班次及排班对于考勤有着重要的意义,是计算考勤的基准。考勤软件是否好用,排班是否好用就占了很大的比重。1、群组排班与个人排班的关系。不同的软件其排班实现不大一样,一般分为群组排班及个人排班,排班逻辑是个人排班优先于群组排班。对于群组的概念,有些软件直接用部门替代有些则有专门的考勤班组概念,无论如何做,都是一个员工集合也就是Group这个概念,个人排班作为特殊情况对待。其当天排班过程则是这样:如果当天有做个人排班,则以个人排班为准,否则以群组排班作为当天班次,如果群组排班也没排,那么就依全局设定来处理这个异常,没排班的可以设定一个默认班次,或者设一个部门默认班次或者直接发出异常,总之在考勤计算前要确认当天所上班次,我是反对智能匹配班次这个概念的,因为考勤是个很严肃的话题,就算你做到了99.99%成功匹配,但就是出现一个错误,就需要人工来做全部检查。2、异动与历史记录对排班的影响。一个例子就是:员工从排班组A调入排班组B,那么其班次也会跟着改变,计算时得考虑这些因素。类似这样的例子有:员工部门调动对于统计部门每天人数的影响,薪资异动对于每月薪资计算的影响。3、数据的来拢去脉能够展示出来给用户看,回答为什么员工当天上的是这个班次,打了这些卡后,为什么得到如此计算结果。4、个人月排班查询:数据来源是群组排班与、个人排班、加班、请假及异动记录,依据预定的规则计算出员工当天排班然后展示出来给用户看,"加"表示当天有安排加班,"假"表示当天有请假,"离"表示当天已离职,"未"表示当天尚未入职,并提供快捷的方式查找到相应的记录,以做到有理可依有据可查。个人排班与群组排班具有类似的界面及批量排班功能,目的是减少排班工作量,让软件更人性化一些。5、个人考勤明细:考勤计算结果与相关考勤数据展示出来,让用户明白刷了什么卡,得到什么样的结果,力求做到数据透明化。解决几个问题:1)当天该员工是否应上班?这由排班系统来排定。2)应该什么时候上下班?这由班次定义指定。3)打了什么卡?这通过自动采集考勤机数据得到。4)计算结果是什么样的?为什么是这样?将计算结果显示出来,并支持相应的分组统计。能方便地过滤出每一天的异常人员,并提供方便的途径回答员工的考勤疑问。排班系统与考勤计算的关系排班系统与考勤计算其实关系不大,也就是考勤计算只需要排班系统告诉员工当天排的是哪个班次就行了,具体如何排班,如何倒班则与考勤计算无关。理解这一点就可以将排班系统与考勤计算独立开来。排班系统的目标是更好地真实地反映企业中排班的实际情况,企业中排班的主要对象是:1、人。2、班次。3、倒班规则。下面分开来说:1、人,要解决多人同时排班的问题。最简单方法是手工进行每人每天的排班,加一个批量处理功能来解决多人同时排班的问题。这里说另一种方法:将人归入群组,然后对群组进行每天排班,特殊的人员进行个人每天排班。也就有群组排班与个人排班同时存在,匹配逻辑是个人排班优先于群组排班。同时群组排班及个人排班都应该有批量处理功能。对人分群组进行群组排班的方法比较贴近千人以上的企业的实际情况,能清楚地反映当前群组的班次。其带来的问题是员工归属群组的历史记录问题,这个问题要处理。2、班次,班次的种类及具体班次的定义请看另一个文章,这里只是提出排班时,要对所排班次的合理性做出检测并警告,主要是相邻天的上下班时间交叉问题,特别是1号上夜班,2号上白班这种情况。当班次很多时,一般会对班次进行分类,常有以下分类:1、按部门分。2、按使用性质分:常用班次,临时班次,一次性班次等。分类后能很容易就能找到相应的班次,不用记住班次的名称或编号。3、倒班规则,如果做好了群组排班与个人排班,就算没做倒班规则,对千人左右的厂也够用了。但要应付的员工时,倒班规则可以帮助HR人员很快地生成当月排班表。常见的倒班规则有:两班倒,三班倒,倒班时间则有:按月倒及按周倒,或者自定义倒班日期。倒班规则挂在员工考勤群组中,不同的考勤群组指定不同的倒班规则,这样就可以快速生成群组排班表。快速生成一个群组排班表,再由HR人员手工做少少修改或不用修改就可以完成排班,这可以减轻排班难度。4、员工排班表的生成。排班表决定员工最终排定班次,注意:该表不一定存在于数据库中,至少在我的设计里,该表没有存在于数据库表中。它是排班系统动态依据“群组排班表”“个人排班表”“个人历史记录”计算而得出的。目前我设计中“倒班规则”则是用来快速生成群组排班表,减轻排班工作量的,与排班表生成逻辑无关。如果要做得更复杂一些,也可以在将“倒班规则”考虑到排班表的生成中去,那样的排班表生成逻辑就复杂很多了。我认为:将“倒班规则”只用作快速生成群组排班表,不计入排班表生成逻辑中是一个足够好用的方案,系统不需要再复杂化。5、关于自动侦测员工当天班次。自动侦测员工当天班次,作为一个功能存在,做成“侦测可能的排班错误”,并提供对应的可能班次。用以方便检测排班错误。还是不赞成用自动检测到的班次来替代排班的方案。因为那不能回答:当天员工是否应该出勤?(不用出勤也就没有旷工缺席了。)关于考勤有很多很多的话题与规则,因为其复杂与易变,考勤软件走的是螺旋上升的发展道路,程序员的每一次努力都让软件更强壮易用,所以最好用面向对象的方法来开发考勤软件。至于数据库表设计及具体程序对象接口代码,我没准备这方面的内容,至于用户操作界面如何才易用,那又是另一个话题了。思想与解决方案说出,代码就是次要的了。

❷ C语言程序设计 学生成绩管理信息系统

我还有代码呢,要的话,马上帖出来..给个红棋吧,呵呵

一、 课题设计名称
学生成绩管理信息系统分析设计
二、 课题设计目的
通过本次课程的设计,加深对信息系统基础理论和基本知识的理解,掌握使用信息系统分析、设计的基本方法,提高解决实际管理问题、开发信息系统的实践能力。
三、 任务要求:
用信息系统开发工具(例如Visual Foxpro、Visual Basic、Delphi等)开发一个实用的中小型管理信息系统。
1、根据课程设计时间选择适当规模大小的设计课题。
2、根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动。
3、课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档(小组各成员可分别完成某阶段的技术文档),最后要求提交详细的课程设计报告。
4、开发出可以运行的管理信息系统,通过上机检查。
四、 课题设计报告书要求:
1、 课题设计报告书第一页为封面,封面上写清楚标题、班级、姓名、指导老师、完成日期,格式自己设计。
2、 课题设计报告书第二页为本任务书。
3、 课题设计报告书第三页为教师评语。
4、 课题设计报告书第四页为目录。
5、 课题设计报告书第五页开始为具体内容:

(1)可行性分析
(2)系统分析部分
1)业务流程图
2)数据流程图
3)功能分析图
4)数据字典
5)数据加工处理的描述
6)管理信息系统流程设想图(新系统模型)
(3)系统设计部分
1)功能结构图设计
2)新系统信息处理流程设计
3)输出设计(主要指打印输出设计)
4)存储文件格式设计(数据库结构设计)
5)输入设计(主要指数据录入卡设计)
6)代码设计(职工证号和部门代号等)
7)程序设计说明书
(4)附录或参考资料

6、课题设计报告书最后一页是本次课程设计的小节和参考文献。
7、字数要求不少于4000字。
8、打印纸张使用B5纸,页边距设为上、下、左2厘米,右1.5厘米,
五、 如有雷同,将作不及格处理。
六、 完成时间:2007.1.5
计算机二系
尚晋
2007.10.28
教师评语

评分模块 评分标准及分值 得分
平时成绩(20分) 1. 态度(10分)
2. 考勤(10分)
分析与设计部分
(65分) 3. 需求分析(5分)
4. 系统复杂度(5分)
系统分析部分(20分) 5. 业务流程图(5分)
6. 数据流程图(5分)
7. 功能分析图(3分)
8. 数据字典(7分)
系统设计部分
(35分) 9. 系统配置方案设计(5分)
10. 用户界面导航图(5分)
11. 界面设计(5分)
12. 有效性验证(5分)
13. 错误处理(5分)
14. 编码设计(5分)
15. 数据库设计(5分)
报告部分(10分) 16. 条理清晰、语言精练准确(5分)
17. 描述图形工具使用恰当(5分)
组长加分(5分) 18. 组织得力,合作完成情况好(5分)
总分(100分)

成绩:

学生成绩管理信息系统
1. 系统规划

1.1项目开发的背景
伴随着信息社会的到来,信息的极大丰富必然要求人们适应信息社会,信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用,其中最重要的前提就是充分利用人们的才智和学习能力。传统的教学只教会了学生相关的知识,没有教会学生如何利用这些知识,以及再学习的能力。特别对于“管理信息系统”这类实用性比较强的课程,更需要培养学生的实际动手能力。.教与学互动与结合,强调应用,不仅让学生了解课程上讲授的管理信息系统方法和原理,而且让学生们利用这些知识解决实际问题。这对学生的实际工作能力是一个很好的锻炼。密切结合学生独立完成的系统开发作业,通过指导教师的点评,使学生能够在较短的时间内,通过实践,真正掌所学的知识。同时人们对信息和数据的利用与处理也已经进入了自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对于成绩管理员的劳动强度、提高工作质量和效率;方便管理人员对信息的查询、提高信息资源的利用效率和管理水平都具有重要意义。
1.2 可行性分析
基于以上对问题的调查和分析,利用计算机给我们提供的信息,及时地了解学生的信息,并且形成一整套动态的管理就十分必要了。本系统开发的主要目的是对学生信息和成绩的实现计算机管理。学生管理系统的建立,是在进行对大量用户需求与调查分析得到的。
(1)技术可行性
成绩管理系统主要是用于计算机教育部关于教学计划、课程、教师信息、成绩的查询和管理。通过使用Microsoft公司提供的Visual FoxPro 6.0工具以及SQL Server数据库可以实现对有关课的教学计划、课程等的网上查询和管理,主要目的是对学生成绩实现计算机管理。
(2)经济可行性
开发学生成绩管理系统费用较底,可利用现有的微机设备,经济上是可行的,非常适合于成绩管理,因为该系统实现了将管理和查询网络
化,极大地方便了管理员、教师、学生。
(3)操作可行性
本系统的界面设计简单直观,易于理解。它使用的控件都是用户常用的或常见的,操作起来很容易上手。不需要特别的培训和讲解,用户便能使用该系统。
(4)组织与管理可行性
成绩管理员是对学生的成绩进行管理的,但过去由于采用人工方法进行管理,工作效率低,劳动强度大,所以他们希望采用计算机管理,将已有的管理经验转化到管理软件中。这就使得系统调查、需求分析能够得到有关人员的大力支持和积极配合。
1.3 制定系统开发计划
开发学生成绩管理系统的计划见表1-1
表1-1 实验小学学生成绩管理系统开发简略计划表

序号 项目内容 时间进度 项目负责人
1 系统规划和可行性分析 2007年12月 向万秀
2 系统分析 2007年12月 张春先、向万秀、刁胜
3 系统设计 2007年12月 向万秀、张春先
4 系统实施与测试 2007年12月 向万秀
5 系统评价与维护 2007年12月 张春先
6 安全保障措施 2007年12月 向万秀、张春先

2系统分析
1现行系统业务流程的调查
对某学校进行实地调查,其现行的成绩管理工作都是采用传统的手工管理,经过对成绩管理员、学生和教师的全面的调查研究,手工工作效率低,工作质量差,不适合现在学校成绩管理系统的需求,所以需要改进传统的成绩管理模式。实现科学化管理。
对现行系统的调查业务流程图如下图1-1所示:

学生

1-1 业务流程图
2 需求分析
(1) 功能描述
本系统包括用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、各方面的查询等等。
1.教学管理功能
① 新本学期所开设课程的录入与查询:例如在2006年上学期开设课程:C语言与经济数学。
说明:所有的课程成绩均由三部分组成:平时成绩,上机成绩, 笔试成绩。所占的比重分别为:30%,10%,60%,在该系统中这三部分及其比重是固定不变的。
② 对各系科的课程安排的录入与查询,课程安排即是该学期每个学科
的选课课程、任课教师以及上课时间和上课地点。
说明:每一个院系中所有的不同专业所选的课程都是一样的。但是同一院系的学生不一定有同一个教师授课。
(2).成绩管理的功能(教师使用)如下:
① 录入成绩:既可以单个录入也可以批量录入,其中批量录入以成绩单单位,每次从系统中调出一张成绩单,编辑完成后一次性提交。
成绩单:成绩单包括学期、院系、专业、课程、任课教师、学生成绩。
② 查询成绩:单个查询(学生可使用),根据学生的学号或姓名查询出该学生的所有课程的成绩信息。批量查询以成绩单为单位,每次查询出一张成绩单。
③ 打印成绩:可以一次打印一张成绩单,也可以按要求批量打印。
④ 统计调整:对成绩单中的成绩进行统计,指出各个分数段的人数分布情况。因为有时学生的成绩整体上偏低,需要进行调整,一次系统可以按照用户设置的规则对成绩单中的成绩进行调整。
成绩调整规则:将成绩单中总分在某一分数段的学生成绩调整到另外一个分数段。例如将50到60分的学生成绩全部调整到60到65分之间。为了使调整过程尽可能合理,还可以对待调整分数段的学生成绩进行限制,例如设置其笔试成绩必须在50分以上,而平时成绩则可以适当放宽。
⑤ 每学期考试不及各的学生自动纳入新学期的跟考或辅修教学计划中。
(3).权限说明:
① 管理员可使用功能:教师信息管理、系科显示、课程管理、教学计划管理、学生成绩查询;
② 教师可使用成绩管理各项功能:对学生成绩的添、删除、修改、查询、分析、调整;
③ 学生可使用的功能:查询单个学生所有成绩,班级成绩,学生平均成绩,最高分,最低分等。
为学校教师和学生提供快捷的查询手段,让老师和学生能够及时查询学生成绩信息,更快而又方便的进行查询。
(4).性能要求
本系统采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率。由于现在实行九年义务教育,学校学生不断增加,该系统可高效的进行大规模的查询。系统的安全保密性高,能防止非法访问
3新系统的逻辑模型的建立

(1) 新开发的学生成绩管理系统的功能分析
在学生成绩管理信息系统中,主要有三类外部实体:学生、教师、教务处工作人员。学生成绩管理信息系统的大部分功能是为教务处工作人员设置的。经调查分析,新开发飞的学生成绩管理信息系统应具有以下的功能。
(1.1) 查询学生的基本信息和成绩信息,包括学生信息的添加、修改、删除等。
(1.2) 管理学生成绩,包括考试管理,成绩管理等。
(1.3) 成绩的处理,即统计成绩、分析成绩等。

(2) 绘制数据流图
绘制数据流图时,只考虑学生和教务处两个外部实体,顶层数据流图如图1-2所示。

学生成绩录入 教师课程信息

学生成绩单
学生登录信息
学生选课信息 辅修/跟考通知单

用户名、密码 部门信息
课程类型 学生成绩信息
课程信息 学生考试信息

图1-2 顶层数据流图
0层数据流如图1-3所示。由于1层图没有完整绘制,0层图中只属于一个加工的文件(例如权限表)也在0层图上出现。
0层数据流图通过反应整个系统中不同数据流向,来揭示系统的组成结构以及各组成部门之间的关系,这种关系主要体现在对数据的操作和处理上。

用户名、密码
学生信息
部门信息
学生成绩
学生信息

学生成绩单
成绩类型 辅修/跟考通知

学生成绩 不及格成绩
缺考

图1-3 0层数据流图
学生信息数据流程图如图1-4、1-5所示。

学生信息 审查1.1 合格单 是否新生1.2 新生信息

学生纪录

学生成绩

总学生纪录表及成绩

图1-4 1层数据流图
(3) 数据字典
数据字典是进行数据收集和数据分析所获得的主要成果,是系统中各类数据描述的集合。数据字典通常包括数据项、数据流、数据存储、处理逻辑。

数据项
名称:学生信息
别名:学生信息
说明:学生信息=学生基本信息+学生记录+学生成绩记录
类型:字符型
长度:12
取值范围:0000000000001~99999999999

数据流条目:
合格单=姓名+系别+班级+专业
新生信息=入学时间+姓名+性别+年龄+专业+系别+班级
加工条目:
加工名:审查
编号:1.1
输入:学生信息
输出:合格单
加工逻辑:根据学生信息判断是否是新生

加工逻辑

加工逻辑
加工名:是否是新生
编号:1.2
输入:合格单
输出:新生信息
加工逻辑:根据合格单建立新生信息
加工名:录入、存储学生信息、各科成绩
编号:1。3
输入:新生信息、考试成绩
输出:本次考试成绩

2层数据流图

学号、课程号 有效查询 成绩

考试成绩 成绩单

学生纪录 班级 统计成绩

各科

本次成绩 升留级名单 学生纪录

成绩标准

图1-5 2 层数据流图
数据字典:
数据项
名称:学号、课程号
别名:编号
说明:惟一标识一个学生编号
类型:字符型
长度:12
取值范围:0000000000001~9999999999999

数据存储文件
数据存储条目:
数据存储名称:考试成绩

组成:姓名+班级+专业+系别+成绩+学号

组织方式:索引文件,以学号为关键字

加工处理
加工逻辑
加工名:有效性检查
编号:2。1
输入信息:学号、课程号
输出信息:有效查询
加工逻辑:根据所输入的信息来检查有效性
加工名:查询成绩
编号:2。2
输入信息:考试成绩
输出信息:成绩
加工逻辑:根据考试成绩查询成绩

加工条目:
加工名:统计选择
编号:3。1
输入信息:学生记录
输出信息:按规定统计成绩
加工逻辑:根据所输入学生记录,按班级、单科统计成绩
数据存储条目:
文件名:成绩标准 组成:成绩

加工条目:
加工名:是否升级
编号:4。1
输入信息:本次成绩、成绩标准
输出信息:升留级名单
加工逻辑:根据本次成绩
IF 大于等于标准成绩 ELSE 降级
ENDLF THEN 升级

加工名:更新记录
编号:4。2
输入信息:升留级名单
输出信息:学生记录
加工逻辑:根据升留级名单修学生记录

3.系统设计
1. 系统总体结构设计与功能模块划分及系统功能描述
本系统的主要任务是实现对学校教导处的学生信息管理、成绩管理、课程管理及相关查询。其主要功能包括:
学生成绩管理模块,学生信息管理模块、系统模块等等。
学生信息管理功能
(1)班级管理。提供给班主任进行本班学生的信息更新、删除。
(2)添加学生。以班级为单位,进行学生入库。其中分为单个添加和成批添加。单个添加学生供数量较少的学生信息入库;成批添加可以从现存的学生信息EXCEL文件中成批录入到数据库中。
(3)删除学生。当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。该功能主要进行成批地删除学生信息,如连续学号区段的多位学生信息删除,整个班级的删除,所有学生信息的删除。
(4)新生管理。本部分的功能主要有新生导入、分班、及设置学号。新生导入实现从现存的EXCEL新生名单中录入学生信息。分班功能实现按新生的报考专业、成绩及性别进行分班。设置学号实现自动为各班学生编发学号。
学生信息备份。在学生信息删除前,将其按班级为单位保存到备份数据库。
(5)学生信息模块主要包括对学生信息的存储,审查记录以及学生对学生整个信息的调查进行分类和查找。可以实现添加、修改、删除、查询学生信息管理的调查。
(6)学生基本信息管理功能包括:学生信息、学生记录、学生成绩、总学生记录表和成绩。
(7)学生基本信息包括:学生学号、学生班级号、课程号、学生联系方式等等
(8)课程管理。提供本学期各年级各专业所开课程名称的录入、修改、删除。它是学生成绩管理的基础。用以保证数据库中一致性原则。
2.系统功能分析
系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。
学生基本信息所需要完成的功能主要有:
●学生信息的输入,包括输入学生基本信息、所在班级、所学课和 成 绩等。
● 学生信息的查询,包括输入学生基本信息、所在班级、已学课程和成绩 等。
● 学生信息的修改。
● 班级管理信息的输入、查询、修改,包括输入班级设置,年级信息等。
● 基本课程信息的输入、查询、修改。
● 学生成绩信息的输入、查询、修改。
对上述各功能进行集中、分块、按照结构化程序设计的要求。
2.绘制学生信息管理模块功能结构图如图

图1-6 学生信息系统管理的功能结构图

3.系统配置方案设计
鉴于本系统的业务性质,必须选择具有较高的可靠性、稳定性和必要的容错能力的计算机硬件和软件系统,以保证任何情况下都不至于丢失、损坏数据。
必须具有较高的响应速度,以保证各项具体业务的顺利进行。
应考虑具有良好的可维护性,可操作性和可扩充性,以保证将来系统规模的扩展和升级的需要。
4.开发与运行环境的使用
开发前台工具:Visual FoxPro 6.0
操作系统对整个网络起着重要的作用,Windows 2000作为一种强健的、多用途的操作系统,不仅能够运行强有力的客户/服务器应用软件,还可以提供可靠的文件与打印服务,再加其内置的通信与Internet/Internet服务功能,以及安装、使用、管理和维护的方便性,因此,本系统采用Microsoft Windows 2000Server作为操作系统。
本系统准备采用客户机/服务器(C/S)结构模式。C/S结构的最大优势在于广泛采用了网络技术,将系统中的各部分任务分配给分布在网络上的担任不同角色的计算机。把较复杂的计算机管理任务交给服务器完成。再把一些频繁与用户打交道的任务交给客户机完成。通过这种结构完全实现了网络上信息资源的共享。
开发基于C/S结构的管理系统所用到的开发工具包括前台开发工具和后台数据库管理系统,主要根据开发者对开发工具的熟悉程度而定。本系统的前端开发工具采用Visual FoxPro 6.0。
5.编码(Code)设计
6.数据库设计
(1) 概念结构设计
经过本次实验,概念结构设计的主要工作是根据用户需求设计概论性数据模型。概念模型是一个面向问题的模型,它独立于具体的数据库管理系统,从用户的角度看待数据库,反映用户的现实环境,与将来数据库如何实现无关。概念模型设计的典型方法是E-R方法,即用实体—联系模型表示。
E-R方法使用E-R图来描述现实世界,E-R图包含三个基本成分:实体、联系、属性。E-R图直观易懂,能够比较准备地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。
实体:是指客观世界存在的事物,可以是人或物,也可以是抽象概念。E-R图中各实体的关系说明如下。
学号记载学生成绩管理系统中所登记的一类编号,而所有的学生姓名是所代表的是学生的代码。中两个实体之间为一对多关系。
学生可以选择多门课程,一门课程可以有多个学生选择。其中本系统中E-R图包括学生性别、出生日期等等。课程中包括课程号、课程名、教师姓名等等。

M N

学生与课程之间的关系

课程名是惟一的,而选课的学生是多个的,这两个实体之间为一对一关系。
一个学校有多位老师,这两个实体之间为一对多关系。
学生与课程表中的同一课程对应多个不同的老师与学生,这两个实体间为一对多关系。

❸ 怎么用C语言编写员工考勤系统

如果是要被使用者操作的系统, 使用pure C是比较麻烦的, 尤其是在视窗GUI处理上. (除非你要使用的是文字模式, 即便如此, 排版及页面控制也是件麻烦事).

我个人会建议使用VC, 简化GUI处理, 可将关注重心放在系统功能本身.

如果是课业或专题, 那就需要自行考量各部分的重要比率, 将某些部分进行简化, 加强重点的关注.

❹ 课堂考勤管理系统的设计用什么语言写

用的C语言。
课堂考勤管理程序是信息管理系统的一个子系统,一个基于单机版的系统。因为随着计算机技术的不断进步与发展,计算机已经深入到人们日常生活的每个角落,该系统开发功能主要包括管理员可以通过计算机设置学生考勤管理程序,打印正闷供学校及个人使用。
课堂考勤管理程序是一个对于学生做闹考勤的管理系统,不仅大大减少了考勤管理人员的大量的工作,而且还方便了班级和学校对学生纯清罩出课率的查询,只要通计算机登入本系统就能及时修改、更正学生的考勤信息,使信息真实、有效。这样节省了大量人力物力,节省了宝贵的时间,大大提高了工作效率。用C语言进行了该系统的编写。操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。

❺ 学生考勤管理系统C语言代码

#include "stdio.h"
#include "string.h"
int main()
{
char name[50][8];
int grade[20][4];
int zm=0;
int ze=0;
int zc=0;
int zz=0;
int n;
int i;
printf("Please input the nummber of students:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Please input the %dth student's name:",i+1);
scanf("%s",&name[i]);
printf("Please input the %dth student's Math score:");
scanf("%d",&grade[i][0]);
printf("Please input the %dth student's English score:");
scanf("%d",&grade[i][1]);
printf("Please input the %dth student's Computer score:");
scanf("%d",&grade[i][2]);
grade[i][3]=grade[i][0]+grade[i][1]+grade[i][2];
}
printf("Name Math Enlish Computer total\n");
for(i=0;i<n;i++)
printf("%s\t%d\t%d\t%d\t %d\t\n",name[i],grade[i][0],grade[i][1],grade[i][2],grade[i][3]);
return 0;

}

❻ 求c语言学生考勤管理系统设计 求大神助阵哪

C语言,CMD界面的呢,东西应该不多啊。和学生管理系统一样,网上很多的...

❼ C语言程序设计;学生考勤管理系统

用链表做