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

合集下载

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. 学生理解考勤管理系统的基本概念,掌握其功能模块和工作流程。

2. 学生掌握使用编程语言(如Python)设计并实现一个简单的考勤管理系统。

3. 学生了解数据库管理的基本原理,能够运用到考勤管理系统中进行数据存储和查询。

技能目标:1. 学生能够运用所学知识,独立设计并编写出具备基本功能的考勤管理系统。

2. 学生通过项目实践,提高问题分析、程序设计和调试的能力。

3. 学生学会使用数据库技术进行数据管理,提高数据处理和分析的能力。

情感态度价值观目标:1. 学生培养对计算机编程和数据库管理的兴趣,激发学习积极性。

2. 学生通过团队协作完成项目,培养沟通、协作和团队精神。

3. 学生认识到考勤管理系统在实际应用中的重要性,增强实践操作和创新能力。

课程性质:本课程为信息技术课程,以项目实践为主,结合理论教学。

学生特点:学生为初中年级,具备一定的计算机操作基础,对编程和数据库有一定了解。

教学要求:教师需引导学生运用所学知识,以项目为导向,注重实践操作和团队协作。

在教学过程中,关注学生的个体差异,提高学生的编程能力和数据处理能力。

通过课程学习,使学生能够将所学知识应用于实际问题的解决中。

二、教学内容1. 考勤管理系统的基本概念与功能模块介绍:包括考勤系统的定义、作用、常见功能模块划分及工作流程。

教材章节:第三章第二节《数据库应用系统概述》2. 编程语言基础:运用Python语言进行考勤管理系统的设计与实现,涵盖变量、条件语句、循环语句等基本语法。

教材章节:第二章《Python编程基础》3. 数据库管理:介绍数据库的基本原理,以MySQL为例,进行数据存储、查询和管理操作。

教材章节:第四章《数据库基础与应用》4. 考勤管理系统设计与实现:结合实际需求,引导学生进行系统设计,编写代码实现考勤管理功能。

教材章节:第五章《数据库应用系统设计》5. 项目实践:分组进行考勤管理系统项目实践,包括需求分析、系统设计、编码实现、测试与优化等环节。

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语言课程设计报告

课程设计说明书学院、系:软件学院专业:软件工程学生姓名:卢青学号:1514011242 设计题目:学生考勤系统起迄日期: 2016年2月29日~2016年3月11日指导教师:富丽贞第1章设计目的本次C语言课程设计是对本学期程序设计基础课程的实际应用,也算是对所学知识的一次检验,通过本次课程设计能达到的目的如下:1.巩固和加深对C课程基本内容和理论知识的理解和掌握。

2.掌握C语言编译和程序调试的基本技能。

3.利用C语言进行基本的程序设计从而逐步了解文件的一些相关操作和掌握函数的使用技巧,包括函数类型的选择,含参数的传递方式。

4.掌握使用数组,指针,引用,文件等编译的方法,提高运用C语言解决实际问题的能力。

5.通过对学生考勤系统的设计、编写源代码,以及对C语言中各个语法和函数的使用,使得对比较复杂的结构体、链接、文件的操作更加熟悉。

6.通过课程设计,将本学期所学知识与实际应用联系和结合起来,培养自己的动手能力,以及加强各学科之间的联系,从而提高个人的团队意识,增强团队之间协调和配合第2章总体设计2.1学生考勤信息记录系统的要求通过该系统实现对学生考勤信息进行创建、录入、修改、查询、保存等操作的管理。

实验考勤信息包括学生姓名,学号,学科种类,各科的考勤信息。

主要功能:1)、能够完成对考勤的录入和修改2)、创建一个班级的信息3)、设备的查询4)、将考勤信息保存到文件中2.2流程图根据设计要求,画出如下流程图:2.3设置的主要函数void creat(void);void save(struct Student *,char []);struct Student *load(char []);void enter(void); /*录入函数*/void search_1(void); /*查询函数_1*/void search_2(void); /*查询函数_2*/void add(void);void modify(void); /*修改函数*/ void back(void); /*退出函数*/ void mune_1(); /*界面-1*/void mune_2(); /*界面-2*/mune_1();mune_2();3.1函数以及调用关系void mune_1(); /*菜单函数1*/ void mune_2() /*菜单函数2*/②nvoid search_2(void); /*查询班级信息*/void modify(void); /*修改函数*/假void save(struct Student *,char []);struct Student *load(char filename[])。

学生考勤系统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. 编程实践:指导学生进行系统开发,实现各功能模块,进行单元测试和集成测试。

  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;}}。

相关文档
最新文档