c 课程设计学生考勤管理系统报告

合集下载

c语言课程设计考勤系统

c语言课程设计考勤系统

c语言课程设计考勤系统一、教学目标本课程旨在通过C语言的学习,使学生掌握C语言编程的基本语法,能够运用C语言设计简单的考勤系统。

通过本课程的学习,使学生能够理解并运用C语言进行程序设计,培养学生的编程思维和解决问题的能力。

同时,通过课程的学习,培养学生的团队合作意识和自主学习能力。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等。

通过学习C语言的基本语法,使学生能够理解并运用C语言进行程序设计。

通过学习数据类型、运算符和控制结构,使学生能够运用C语言进行简单的数学计算和逻辑判断。

通过学习函数,使学生能够理解并运用函数进行程序的模块化设计。

最后,通过设计考勤系统,使学生能够综合运用所学知识解决实际问题。

三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

首先,通过讲授法,使学生掌握C语言的基本语法和编程原理。

然后,通过案例分析法,使学生能够运用所学知识解决实际问题。

最后,通过实验法,使学生能够动手实践,提高编程能力。

四、教学资源本课程的教学资源主要包括教材、多媒体资料和实验设备。

教材是课程学习的基础,为学生提供全面、系统的C语言知识。

多媒体资料包括教学PPT、视频等,丰富学生的学习体验。

实验设备包括计算机、网络等,为学生提供动手实践的机会。

通过这些教学资源的运用,提高学生的学习效果。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。

平时表现主要评估学生的课堂参与度、提问回答和团队合作等情况,占总评的30%。

作业主要评估学生的编程能力和理解能力,占总评的30%。

考试主要评估学生的知识掌握和应用能力,占总评的40%。

评估方式客观、公正,能够全面反映学生的学习成果。

六、教学安排本课程的教学安排如下:共计32课时,每周2课时,共16周完成。

教学地点为计算机实验室,以便学生动手实践。

教学进度安排合理、紧凑,确保在有限的时间内完成教学任务。

同时,教学安排还考虑学生的实际情况和需要,如学生的作息时间、兴趣爱好等。

C语言课程设计总结报告学生考勤系统设计

C语言课程设计总结报告学生考勤系统设计

C语言程序设计课程设计报告
设计题目:学生考勤系统设计
专业自动化
班级自动化071
学生朱胜佳
指导教师梁德胜
2020 年春天学期
一、整体设计
1.程序的整体设计
◎确信界面,利用户可选择操作项目(录入,修改,查询,评分)。

◎录入功能:利用结构体,要求用户输入姓名、性别、学号、日期、节次、当前出勤情形等信息,并写入文件。

◎修改功能:利用户输入学号,姓名其中一项能够修改考勤其信息。

关于修改功能的实现,是先将所有文件内容读入到内存中,然后修改考勤值,最后再从头覆盖写入文件。

◎查询模块:利用字符串比较函数,利用循环找到对应结构体数组元素,然后输出需要信息。

关于查询功能的实现,同修改,是先将所有文件内容读入到内存中,然后查找到其中某项,最后输出到屏幕。

◎评分模块:系统依照总的应道考勤数依照百分制,求出每一个学生的分数,并输出到屏幕。

2. 数据结构
学生信息用结构体记录,包括姓名(字符数组)、性别(字符型)、日期(年月日三个字符数组)、节次(整型)、出情形(整型)。

3. 函数原型声明
开始record() 函数。

C++课程设计报告-学生考勤管理系统的设计与实现

C++课程设计报告-学生考勤管理系统的设计与实现

面向对象程序设计(C++)课程设计任务书学院计算机与信息工程学院专业通信工程课程名称面向对象程序设计(C++)题目学生考勤管理系统的设计与实现完成期限自2017年6月12日至2017年6月17日共6天内容及任务一、项目目的1.巩固和加深学生对程序设计课程基本知识的理解,综合该课程中所学的理论知识,独立或联合完成一个应用课题的设计;2.根据选题需要,通过查阅手册和文献资料,培养分析和解决实际问题的能力;3.进一步提高使用C++进行软件开发的能力。

二、项目任务的主要内容和要求设计一个学生考勤管理系统。

可以实现对学生信息的添加功能、查询功能、显示功能、编辑功能、删除功能、统计功能、保存功能、读取功能、排序功能。

实现:学生信息的录入:修改:删除和查询,按姓名或学号查询。

应用系统分析,建立该系统的功能模块框图以及界面的组织和设计,分析系统中的各个实体及它们之间的关系,根据问题描述,设计系统的类层次;完成系统的应用模块。

三、项目设计(研究)思路考勤管理系统要实现对学生考勤的信息录入,根据给定信息对学生考勤结果进行分类统计,以及结果查询。

四、具体成果形式和要求成果形式:程序和报告。

具体要求:建立一个学生考勤信息数据库,文件名为“学生考勤管理系统.txt”并从该文件写入数据。

学生考勤管理系统要实现对学生考勤的信息录入,根据给定信息对学生考勤进行分类。

进度安排起止日期工作内容2017年6月12日需求分析,按照课题要求,搜集查询相关参考资料。

2017年6月13日至2017年6月14日概要设计和详细设计阶段,根据前期的需求分析结果,定义系统实现所需要的自定义函数数据类型及个功能函数。

2017年6月15日至2017年6月17日程序的进一步完善,调试与测试撰写课程设计报告。

主要参资料考[1].谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2014[2].梁旭.C语言课程设计(第三版)[M].北京:电子工业出版社,2013[3].刁成嘉.面向对象程序设计[M].北京:机械工业出版社,2004[4].张鸿.C++语言程序设计[M].北京:中国电力出版社,2014指导教师意见(签字):年月日系(教研室)主任意见(签字):年月日面向对象程序设计(C++)课程设计说明书学院名称:计算机与信息工程学院班级名称:通信 162 学生姓名:沈杰学号: 2016211881 __ 题目:学生考勤管理系统的设计与实现指导教师姓名:王南洋起止日期:2017年6月12日至 2017年6月 17 日目录1 系统需求分析 (5)1.1 录入学生的缺课记录 (5)1.2 修改学生的缺课记录 (5)1.3 查询学生的缺课情况 (5)1.4 统计 (5)1.4.1 统计姓名及节数 (5)1.4.2 统计课程及人次 (5)1.5 小结 (5)2 总体设计 (6)3 详细设计 (7)3.1 学生缺课信息录用功能模块 (8)3.2 修改某学生缺课信息功能的模块图 (8)3.3 查询某学生缺课信息功能图 (9)3.4 统计某段时间内旷课学生姓名及旷课节数功能模块 (9)3.5 统计某段时间内有学生旷课的课程及旷课人次功能模块 (9)4 系统调试 (10)4.1系统实现 (10)4.2类的设计 (10)5 结果分析 (18)5.1 综合测试原始界面 (19)5.1.1 录入学生缺课记录 (19)5.1.2 修改学生缺课记录 (19)5.1.3 查询学生缺课情况 (20)5.1.4 统计某段时间旷课学生姓名及旷课节数 (20)6 总结 (20)1 系统需求分析考勤信息记录了学生的缺课情况,它包括:缺课日期、第几节课(连续用begin-end的形式表示)、课程名称(课程名称中不会出现空格)、学生姓名、缺课类型(迟到、早退、请假及旷课)。

c语言课程设计学生考勤系统设计

c语言课程设计学生考勤系统设计

c语言课程设计学生考勤系统设计一、课程目标知识目标:1. 学生能够掌握C语言基础语法,包括数据类型、变量定义、运算符、控制结构等。

2. 学生能够理解结构体和数组在C语言中的应用,并能运用其设计学生考勤系统。

3. 学生能够掌握文件操作在C语言中的使用,实现对考勤数据的存储和读取。

技能目标:1. 学生能够运用C语言编写程序,实现学生考勤系统的基本功能,如学生信息的添加、删除、修改和查询。

2. 学生能够利用所学知识对程序进行调试和优化,提高代码执行效率。

3. 学生能够通过课程学习,培养解决问题、分析问题和编程实现的能力。

情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,提高主动学习的积极性。

2. 学生能够通过课程实践,认识到编程对解决实际问题的价值,增强自信心和成就感。

3. 学生在团队协作中,学会沟通与交流,培养合作精神和集体荣誉感。

课程性质:本课程为实践性较强的课程,旨在通过设计学生考勤系统,让学生将所学C语言知识应用于实际项目中。

学生特点:学生具备一定的C语言基础,对编程有一定了解,但实际操作能力有待提高。

教学要求:注重理论与实践相结合,通过课程设计,提高学生的编程能力和解决实际问题的能力。

将目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. C语言基础语法复习:包括数据类型、变量定义、运算符、控制结构(如if 语句、循环语句等)。

相关教材章节:第一章至第三章。

2. 结构体和数组的应用:介绍结构体定义、数组的使用,结合实例讲解如何存储和管理学生信息。

相关教材章节:第四章、第七章。

3. 文件操作:讲解文件打开、读写、关闭等操作,以及如何将学生考勤数据存储到文件中。

相关教材章节:第十章。

4. 函数和模块化编程:引导学生学会将程序功能模块化,提高代码的可读性和可维护性。

相关教材章节:第六章。

5. 调试与优化:介绍常见编程错误类型,教授调试技巧,提高代码执行效率。

相关教材章节:第十二章。

考勤管理系统c语言课程设计报告

考勤管理系统c语言课程设计报告

考勤管理系统c语言课程设计报告课程设计报告:考勤管理系统一、引言随着企业规模的不断扩大,考勤管理成为企业日常管理中的重要环节。

为了提高考勤管理的效率和准确性,我们设计了一个基于C语言的考勤管理系统。

本系统能够实现员工考勤信息的录入、查询、修改和统计等功能,为企业提供了一个方便、快捷的考勤管理平台。

二、系统设计1. 系统功能设计本系统主要包括以下几个功能模块:(1)员工信息管理模块:用于添加、删除、修改和查询员工基本信息,包括姓名、部门、职位等。

(2)考勤信息管理模块:用于记录员工的考勤情况,包括上下班时间、请假记录等。

同时支持迟到、早退、旷工等异常情况的记录和处理。

(3)考勤统计模块:根据员工的考勤记录,自动计算员工的出勤率、迟到率、请假率等数据,并生成相应的统计报表。

(4)系统管理模块:用于设置系统的参数,如工作日、上班时间、节假日安排等;同时提供权限管理和日志查看功能,保证系统的安全性和稳定性。

2. 数据库设计本系统采用结构化查询语言(SQL)进行数据库设计,包括员工表、考勤表和统计表等。

其中,员工表存储员工的基本信息,如姓名、部门、职位等;考勤表存储员工的考勤记录,如上下班时间、请假记录等;统计表存储员工的出勤率、迟到率等统计数据。

通过合理的数据库设计,能够提高系统的数据处理能力和查询效率。

三、系统实现1. 员工信息管理模块实现在员工信息管理模块中,我们使用C语言中的结构体来表示员工信息,包括姓名、部门、职位等字段。

通过添加、删除、修改和查询等操作,实现对员工信息的维护和管理。

同时,为了方便用户操作,我们使用菜单驱动的方式实现交互界面,用户可以根据菜单提示进行相应的操作。

2. 考勤信息管理模块实现在考勤信息管理模块中,我们使用时间函数获取当前时间,并记录员工的上下班时间。

同时,根据员工的请假记录和异常情况处理规则,实现请假申请、异常情况处理等功能。

为了方便用户查询和管理考勤信息,我们设计了友好的界面和查询功能,用户可以根据姓名、部门等条件进行考勤记录的查询和筛选。

学生考勤系统c语言课程设计

学生考勤系统c语言课程设计

学生考勤系统c语言课程设计一、课程目标知识目标:1. 理解C语言在开发学生考勤系统中的应用,掌握基本的数据类型、变量、运算符和表达式;2. 学会使用C语言控制结构,如顺序、分支和循环结构,实现对考勤数据的逻辑处理;3. 掌握C语言数组、函数和文件操作,实现考勤数据的存储、读取和统计。

技能目标:1. 能够运用C语言编写程序,设计并实现一个简单的学生考勤系统;2. 培养学生分析问题、解决问题的能力,使其能够根据需求进行程序设计和调试;3. 学会使用C语言相关开发工具,如编译器和调试器,提高实际操作能力。

情感态度价值观目标:1. 培养学生对C语言编程的兴趣和热情,激发其主动学习和探究的精神;2. 增强学生的团队合作意识,使其在课程设计和实践过程中相互协作、共同进步;3. 通过课程学习,让学生认识到编程在现实生活中的应用价值,提高其创新意识和实践能力。

课程性质:本课程为实践性较强的课程设计,旨在让学生将所学的C语言知识运用到实际项目中,提高编程能力和解决实际问题的能力。

学生特点:学生已经掌握了C语言的基本语法和编程技巧,具有一定的编程基础,但实际项目经验不足。

教学要求:结合学生特点,注重实践操作,引导学生主动思考,培养其编程能力和团队协作能力。

在教学过程中,关注学生个体差异,因材施教,确保每位学生能够达到课程目标。

通过课程设计,使学生在实践中巩固所学知识,提高综合运用能力。

二、教学内容1. C语言基本知识回顾:数据类型、变量、常量、运算符和表达式;2. 控制结构:顺序结构、分支结构(if-else、switch-case)、循环结构(for、while、do-while);3. 函数:函数的定义、声明、调用,以及递归函数;4. 数组:一维数组、二维数组,数组的使用和操作;5. 文件操作:文件打开、关闭、读写,以及文件定位;6. 学生考勤系统功能模块设计:用户登录、学生信息管理、考勤记录、考勤统计等;7. 项目实践:根据需求分析,引导学生运用所学的C语言知识进行学生考勤系统的设计和实现;8. 编程规范和调试技巧:培养学生良好的编程习惯,提高代码质量。

学生考勤管理系统c课程设计

学生考勤管理系统c课程设计

学生考勤管理系统c 课程设计一、课程目标知识目标:1. 让学生掌握数据库的基本操作,包括数据的增删改查。

2. 理解并应用面向对象编程思想,设计学生考勤管理系统的功能模块。

3. 掌握使用至少一种编程语言(如Java、C#等)实现学生考勤管理系统的基本功能。

技能目标:1. 培养学生运用所学知识解决实际问题的能力,通过设计学生考勤管理系统,提高编程实践能力。

2. 提高学生的团队协作能力,学会在项目中进行有效沟通与分工合作。

情感态度价值观目标:1. 培养学生对待编程学习的积极态度,激发对信息技术的兴趣和热情。

2. 增强学生的责任感,认识到考勤管理的重要性,培养良好的团队精神和职业道德。

课程性质分析:本课程为信息技术或计算机科学相关专业的实践课程,结合实际应用场景,培养学生编程实践能力和解决实际问题的能力。

学生特点分析:学生处于高年级阶段,已经具备一定的编程基础和数据库知识,能够理解和运用面向对象编程思想,具备一定的自主学习能力。

教学要求:1. 结合学生特点,以项目驱动的方式进行教学,注重理论与实践相结合。

2. 教师应引导学生主动参与课程,鼓励学生提问和发表见解,培养学生的创新思维。

3. 教学过程中要关注学生的个体差异,提供个性化指导,确保每个学生都能达到课程目标。

二、教学内容1. 数据库基础知识回顾:数据表的设计与创建,数据类型的定义,关键字的设置。

2. 面向对象编程:类与对象的概念,封装、继承、多态性的应用,设计模式的基本了解。

3. 编程语言的选择与应用:根据学生已有知识,选择适合的编程语言(如Java、C#等),讲解其在系统开发中的应用。

4. 学生考勤管理系统功能模块设计:需求分析,系统设计,模块划分,功能描述。

- 用户模块:用户注册、登录、权限管理。

- 考勤模块:考勤记录的添加、查询、修改和删除。

- 报表模块:考勤统计报表的生成与导出。

5. 编程实践:指导学生进行系统开发,实现各功能模块,进行单元测试和集成测试。

C语言考勤管理系统课程设计

C语言考勤管理系统课程设计

C语言考勤管理系统课程设计一、课程目标知识目标:1. 学生能理解C语言在考勤管理系统中的应用,掌握基本的数据类型、运算符、控制结构等语法知识。

2. 学生能运用结构体、文件操作等C语言特性,实现员工信息的增删改查功能。

3. 学生了解并掌握模块化编程思想,将系统分解为多个功能模块,提高代码的可读性和可维护性。

技能目标:1. 学生能够独立设计并编写C语言程序,实现考勤管理系统的基本功能。

2. 学生能够运用调试工具(如Turbo C)查找并修复程序中的错误,提高程序的稳定性和可靠性。

3. 学生掌握基本的算法和数据结构,能够对程序进行优化,提高系统性能。

情感态度价值观目标:1. 学生通过本课程的学习,培养对编程的兴趣和热情,提高信息素养。

2. 学生能够意识到编程在实际应用中的重要性,增强解决问题的信心和责任感。

3. 学生在团队协作中,培养沟通与协作能力,尊重他人的观点,共同完成项目任务。

课程性质:本课程为实践性课程,以项目为导向,结合C语言编程知识,培养学生实际编程能力。

学生特点:学生为初中生,具备一定的计算机操作基础,对编程有一定兴趣,但缺乏实际编程经验。

教学要求:教师需结合学生特点,以实际项目为载体,引导学生掌握C语言编程知识,培养实际编程能力。

通过项目实践,使学生能够将所学知识应用于实际问题的解决,提高学生的综合素养。

在教学过程中,注重培养学生的团队协作能力和创新精神,使学生在完成项目任务的同时,实现知识、技能和情感态度价值观的全面提升。

二、教学内容1. C语言基础知识回顾:数据类型、变量、常量、运算符、表达式等,对应教材第一章。

2. 控制结构:顺序结构、选择结构、循环结构,对应教材第二章。

3. 函数:函数定义、调用、传参、返回值,对应教材第三章。

4. 结构体和文件操作:结构体的定义和使用、文件读写操作,对应教材第四章和第六章。

5. 模块化编程:模块划分、模块间通信、主函数设计,结合教材第三章和第五章。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息科学与技术学院程序设计基础课程设计报告题目名称:学生考勤管理系统学生姓名:郭晨晨学号: 2专业班级: 13级计科(3)班指导教师:郭理2013年6月6日目录1. 课程设计题目与要求课题目的和要求设计目的:要求实现---“学生考勤管理程序”记录学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假及旷课)。

设计要求:1.录入学生的缺课记录;2.修改某个学生的缺课记录;3.查询某个学生的缺课情况;4.统计某段时间内,某门课旷课学生姓名及旷课次数,按旷课次数由多到少排序;5.统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;6.系统以菜单方式工作。

课题意义程序实践是本科生重要教学环节之一。

通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识,加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力学生考勤管理程序可以大大减缓学生考勤人员的工作量, 方便了平时上课学生的出勤率的管理。

2 总体设计功能模块设计根据分析整个系统主要划分为7个功能模块,分别执行要求中的功能。

数据管理中可以对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改。

查询管理通过根据学生姓名,课程姓名时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录。

功能模块图如图1所示:图1功能模块图系统设计方案这个程序是过程性语言设计的。

运用多种条件语句,主体采用的是链表指针。

系统的设计采用了数组语句、选择语句和循环语句,在需要处理大量同类数据时,这样就使程序书写更加简洁。

程序使用了布尔函数。

选择语句多采用if多分支选择结构与switch语句。

首先计算switch表达式,然后在caes子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行。

循环语句采用了for语句等、do-while语句,for语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。

do-while语句先循环后判断,Break语句在switch语句中,保证多分支情况的正确执行,在循环语句中,强制终止本层循环。

保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的。

3 详细设计数据结构设计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,记录时间。

主模块设计要建立的学生人数,学生基本信息(包括缺课时间、学生姓名、课程名称、节次、迟到次数、早退次数、请假次数、旷课次数)可用creat()函数如图1.图1根据要修改的学生姓名以及科目名称找到相应的信息,再选择要修改的项目进行单项修改2图2根据人名可以查出该学生的所有缺课记录如图3图3根据学科名称和时间范围查出所有在该范围内旷课的学生以及次数如图4图4根据要查询的学科名称及时间段查出在改时间段内该门课上旷课的人数如图5图5可以载入实现储存在当前文件夹中txt文件中所储存的数据如图6图6进入系统界面,顺序的完成各项操作,进行数据的输入,信息的保存调用相应的函数打开相应的地址,查询各项信息。

如图7图74. 运行结果运行开始菜单图1 开始菜单主菜单图2 主菜单建立学生缺课记录图2建立学生缺课记录储存学生旷课记录图3储存学生旷课记录5. 课程设计总结课程设计顺利完成,题目所要求的功能基本实现,可以对学生的缺课信息进行添加,修改,删除以及查询的显示。

不过这个程序还不够完善,例如不能往当前文件夹中的txt文件中添加记录。

结束语整个系统的设计过程对于我来说是个学习、探索的过程,通过借鉴别人,学习设计程序,在整个设计过程中,出现过很多的问题,很多繁琐的东西都需要反复的修改,主要是因为前期的学习不认真,对系统的需求分析的要求认识不清楚,使得在后边的工作中不得不经常反复请教别人去修改。

使我体会到设置中每一步的重要性。

所以在分析一个问题时,我们需要站在一个有远见的高度。

通过此次设计,我对C++语言编程有了深刻的认识,积累了使用软件工程的思想来开发软件的经验,更重要的是学会了在对待问题时应该考虑到哪些方面和怎么解决问题。

虽然时间紧迫但我学会了不少,感到自身知识的贫乏,希望在日后积极学习并尝试努力中能做出完善的系统。

参考文献谭浩强.C++语言程序设计.清华大学出版社求是科技.Visual C++ 信息系统开发.人民邮电出版社附录:源代码#include<cstdio> ueke_name;a[i].people_num=0;}cout<<"请输入要查看的时间范围由小到大【输入格式:时间(空格)时间】";cin>>look_time1>>look_time2;p1=head;for(i=0;i<n;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<n-1;j++)for(i=0;i<n-1-j;i++){if(a[i].people_num<a[i+1].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);}elseif(a[i].people_num==a[i+1].people_num&&strcmp(a[i].xueke_name,a[i+1].xueke_n ame)>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<n;i++){cout<<"学科名称:"<<a[i].xueke_name<<" 旷课次数:"<<a[i].people_num<<endl;return head;}return head;}struct student *zairu(){struct student *p1=NULL,*p2=NULL,*head=NULL;struct student student_ziliao[100];int i=0,n=0;if((fp1=fopen("","rb+"))==NULL){ printf("cannot open file\n");return(head); }while(!feof(fp1)){if(fread(&student_ziliao[i],LEN,1,fp1)!=1){if(feof(fp1)){fclose(fp1);break; }printf("file read error\n");}i++;}n=i;student_num=n;p1=p2=(struct student *)malloc(LEN);head=p1;for(i=0;i<n;i++){p1->chidao_num=student_ziliao[i].chidao_num;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("","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_进入管理\n\n\n";cout<<" 2_查看系统相关信息\n\n\n";cout<<"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$\n\n\n\n\n";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;}}。

相关文档
最新文档