学生证信息管理系统方案
- 格式:doc
- 大小:230.00 KB
- 文档页数:21
学校学生证管理办法学校学生证是每个学生在校园生活中必备的身份证明。
它不仅代表着学生的身份,还具有管理功能,对学校管理和学生安全起到重要作用。
因此,制定学校学生证管理办法是非常必要的。
首先,对学生证的发放应该有明确的规定。
学生证应该在学生入学时发放,由学校负责办理。
学生证应包括学生的个人信息,如姓名、学号、照片等。
同时,学生证应定期更换,以保证信息的准确性和学生的安全。
此外,对于违反学校规定的学生,学校也应有权利收回或注销其学生证,以起到警示作用。
其次,学校应加强学生证的管理和使用。
学校可以建立专门的学生证管理部门,负责学生证的发放、管理和监督。
学生证应该在入学时与学生进行绑定,防止被他人冒用。
学生应该牢记自己的学生证号码,并妥善保管学生证,避免遗失或被盗用。
学校也可以采用技术手段,如二维码、智能卡等,增强学生证的管理和防伪功能。
此外,学校学生证管理办法还应规定学生证的使用范围和使用规则。
学生证不仅可以作为学生身份证明,还可以用于学生借书、进入学校图书馆、食堂消费等。
学校可以与当地社会合作,将学生证与公共交通卡绑定,方便学生出行。
同时,学校应规定学生证的使用规则,如禁止学生将学生证借给他人使用,禁止学生利用学生证进行非法活动等。
另外,学校学生证管理办法还应对学生证的丢失和补办进行规定。
当学生证丢失时,学生应及时向学校报备并补办学生证。
学校可以要求学生提供相关证明材料,如身份证明、学生证明等,以防止学生证被他人冒领。
同时,学校应设立一个相应的程序和流程,尽快补办学生证,以减少学生的不便。
除此之外,学校学生证管理办法还应规定学生证的违规处理措施。
学生证是学生的身份证明,学校可以利用学生证来监督学生遵守校规校纪。
对于违反校规校纪的学生,学校可以采取相应的措施,如警告、扣分等,并记录在学生证上,作为学生综合素质评价的重要依据之一。
这样能够促进学生自觉遵守学校规定,形成良好的学风和校风。
总之,学校学生证管理办法对于学校管理和学生安全起着重要作用。
【精品】学生信息管理系统需求分析一、项目背景现今社会,教育已经成为了人们成长的重要途径。
随着社会的快速发展和科技的不断更新,学生信息管理系统也应运而生。
目前,学校信息化建设成为了各大学校的重点工作,学生信息管理系统也越来越受到教育机构的重视。
二、系统概述学生信息管理系统(Student Information Management System,简称SIMS),是一种基于互联网的管理系统,旨在提供学生信息的存储、管理、修改和查询功能。
该系统主要用于教育机构,所收集的信息包括学生的基本信息、学业成绩、考勤情况、学生证明材料等。
学生信息管理系统能够提高教育机构对学生管理的效率和准确性,以及为学生提供各种信息服务,方便学生和家长更好地了解学生的情况和发展。
三、系统功能1.基本信息管理学生信息管理系统可以存储学生的基本信息,包括姓名、性别、出生日期、身份证号码、联系电话、家庭住址等。
同时,支持学生基本信息的增、删、改、查功能。
2.学业成绩管理学生信息管理系统可以存储学生的各科成绩,包括平时成绩、考试成绩、期末成绩等,并且还能够将不同学期的成绩进行汇总,形成整张成绩单。
同时,系统支持对学生成绩的统计分析和查询,可以方便教员和学生对考试成绩的了解和评估。
3.考勤管理学生信息管理系统可以记录每个学生的考勤情况,包括出勤、请假、缺勤等情况,并将每个学期的考勤情况进行汇总和展示。
同时,系统也支持教员对考勤情况进行查询和管理,方便教员了解每个学生的学习态度和表现。
4.学生证明材料管理学生信息管理系统可以存储学生的证明材料,包括学生证、学籍证明、成绩单等。
同时,系统支持学生和家长在线申请这些证明材料,方便了学生的使用和办理。
5.数据统计与分析学生信息管理系统可以对各种数据进行汇总、统计和分析,比如学生人数、男女比例、班级成绩分布、考勤情况等。
同时,系统还可以生成各类教学报表,为教育管理和决策提供数据支持。
四、需求分析1.安全性由于学生信息管理系统主要用于存储和管理学生的个人信息,所以系统的安全性非常重要。
学校学生证管理规定学校学生证是学校管理学生的一项重要工作之一,对于学生证管理的规定旨在确保学校管理的严谨性和安全性。
以下将介绍学校学生证管理规定的具体内容。
1. 办理学生证的要求学校学生证办理的第一要求是学生必须是学校的合法注册学生,具备在校学习资格。
同时,学生需提供个人身份证明材料,如身份证、户口簿等证件。
学生证的办理一般由学校的教务部门或学生事务中心负责,学生需要按规定时间和地点前往办理手续。
2. 学生证的功能学生证在学生学习期间具有多种功能。
首先,学生证是学生身份的凭证,能够证明学生的合法身份。
其次,学生证也是学生进出学校、图书馆、实验室等场所的通行证。
此外,学生证还可以作为学生享受各类学生优惠政策的凭据,如公交车票的优惠、图书馆借阅的特权等。
因此,学生证的管理具有重要的意义。
3. 学生证的使用规定学校学生证的使用规定是学生证管理的重要环节。
首先,学生应妥善保管学生证,不得私自损坏、转借他人或擅自更改学生证上的信息,避免学生证的被冒用等情况。
其次,学生根据学校相关规章制度的要求,按时缴纳学费并通过课程考核,方可继续使用学生证。
此外,学生证过期后,学生需要按照规定程序进行学生证的换领。
4. 学生证的挂失与补办学生证的挂失与补办是学生证管理的重要环节。
一旦发现学生证丢失或被盗,学生应立即向学校的相关部门报失,并办理挂失手续。
学校根据挂失申请进行相关处理,将挂失信息存入系统中,以确保学生证不能继续被滥用。
学生需要按照学校规定的手续和时间重新办理补办手续,并支付相应的补办费用。
5. 学生证的处罚规定学校学生证的管理规定中也包括了对学生证违规使用的处罚规定。
例如,如果学生证被用于非法用途,如代替他人进出学校、故意改动学生证上的信息等,学校将根据情节轻重给予相应的纪律处分,严重者甚至会影响学生的学籍和学位。
6. 校外使用学生证的限制学校学生证的使用规定通常限制了学生证在校外的使用范围。
学生证一般只适用于学生进出学校、图书馆等校内场所。
山东省学生信息管理系统使用说明系统菜单如图所示,第一项是“系统设置”菜单,二至六项是学籍管理模块菜单(依次为新生建籍、学籍异动、信息查询、报表打印、学籍维护),第七项是考试管理模块菜单,第八项是体质健康测试模块菜单,第九项是综合素质评价模块菜单,第十项是“系统帮助”菜单。
1、“系统设置”菜单主管单位----主管单位信息模型,通过设置不同的主管单位[省、市、县区],系统可以屏蔽掉当前数据库中指定单位以外的所有数据,实现在不同市、县区之间自由切换,数据库工作区域也相应进行切换;通过该模型中的“数据维护”功能可以实现主管单位信息的备份、上报、导入等要求;通过“统计报表”功能,可以按不同层次范围的主管单位打印代码表(或通讯录)。
该模型主要包括主管单位代码、主管单位名称、所在地行政区划码、主管单位地址、邮政编码、学籍管理科室、联系人、联系电话等信息(首次使用需要各市、县区教育行政部门补充完整相关信息),其中:主管单位代码:由2位省(区/市)代码+2位市(地)代码+2位县(市/区)代码,共6位数字组成。
省教育厅负责编定的学校主管部门的唯一标识,不得进行更改。
默认等同于各单位的行政区划代码;无行政区划代码的(如市直、相对独立管理的各类开发区等),增设主管单位代码时由市级教育行政部门上报省教育厅,由省教育厅参照编排规则定义新的代码使用。
主管单位名称:指学校主管单位标准名称,与公章一致。
所在地行政区划码:参见《中华人民共和国行政区划代码》。
主管单位地址:指包括省(区、市)/地(市、区)/县(市、区、旗)/乡(镇)/街(村)的地址。
学校信息----学校信息模型,通过设置不同的县区级主管单位,实现所属学校的集中管理;通过“学校列表”可以筛选不同类别的学校;通过该模型中的“数据维护”功能可以实现不同范围的学校信息的备份、上报、导入等要求;通过“统计报表”功能,可以对不同范围、不同类别的学校代码表进行打印。
该模型包括学校代码、学校名称、所属主管单位代码和名称、学校地址、邮政编码、联系电话、学校办别、学校类别、所在地区类别、主教学语言、所在地行政区划代码和名称、学校达标等级、学校运行状况等信息(首次使用需要各市、县区教育行政部门补充完整相关信息),其中:学校代码:由6位主管单位代码+4位学校序号,共10位数字组成。
学生信息管理制度随着社会的发展和教育的进步,学生信息管理制度成为现代教育中不可或缺的一部分。
这个制度旨在规范和维护学生的基本信息,以促进教育资源的合理配置和个体发展的全面指导。
然而,学生信息管理涉及到众多方面的问题,如隐私保护、数据安全、信息使用等等。
针对这些问题,我们需要制定一套完善的管理制度,以确保信息管理的公正、规范和有效性。
一、建立信息采集与更新机制首先,学生信息管理制度需要建立一个完善的信息采集与更新机制。
学校应该建立健全的信息采集流程,确保学生的基本信息能够及时、准确地录入系统中。
此外,学校也应该定期更新学生信息,以跟进学生的发展变化。
这对于学校提供个性化教学和关爱关怀具有重要意义。
二、确保信息安全和隐私保护在学生信息管理制度中,保护学生的个人隐私和信息安全是至关重要的。
学校应该制定严格的隐私保护政策,确保学生信息不被泄露和滥用。
同时,在信息采集和使用过程中,学校也应该限制信息的范围和使用目的,以减少学生信息被滥用的风险。
三、合理利用信息资源学生信息管理制度也应该鼓励和促进信息资源的合理利用。
学校可以通过信息系统收集和分析学生的学习成绩、兴趣爱好等信息,并将其与教学资源相结合,为学生提供个性化的教学和培养计划。
这对于提高教学效果和学生发展具有积极意义。
四、建立信息查阅和使用规定为了保证学生信息管理的有效性,学校需要制定一套信息查阅和使用规定。
这些规定应该明确规定谁可以查阅学生信息、查阅的范围和用途,并为学生提供拒绝查阅的权利。
通过建立这些规定,可以避免信息被滥用和非法使用的情况发生。
五、加强信息管理人员培训为了提高学生信息管理制度的执行力和效果,学校需要加强信息管理人员的培训和素质提升。
信息管理人员应该具备相关的法律、伦理和技术知识,以更好地处理学生信息管理过程中的各种问题和挑战。
六、建立信息管理监督机制学生信息管理制度应该建立一个有效的监督机制,以确保信息管理的规范和公正。
学校可以设立信息管理监督小组,定期对信息管理流程和实施情况进行检查和评估。
学生学籍信息管理1. 介绍此文档旨在详细说明学生学籍信息管理的相关流程、规则及注意事项,以确保学籍信息的准确性、完整性和及时性。
所有相关人员应严格遵守本规定,确保学生学籍信息的规范管理。
2. 学籍信息管理流程2.1 学籍信息收集在新生入学时,由教务处或指定部门负责收集学生的基本学籍信息,包括姓名、性别、民族、出生日期、身份证号码、家庭住址、联系方式等。
2.2 学籍信息录入收集到的学籍信息由教务处或指定部门负责录入学籍管理系统。
录入时需确保信息准确无误,并严格按照规定格式进行。
2.3 学籍信息审核学籍信息录入完成后,由教务处或指定部门对学籍信息进行审核,确保信息的准确性、完整性和规范性。
审核通过后,学籍信息正式生效。
2.4 学籍信息更新在学生在校期间,如发生学籍变动(如休学、复学、转专业等),教务处或指定部门应及时更新学籍信息,确保信息的及时性。
3. 学籍信息管理规则3.1 保密性所有学籍信息均属于学生个人隐私,教务处或指定部门有义务对学籍信息进行保密,不得泄露给无关人员。
3.2 准确性教务处或指定部门应确保学籍信息的准确性,不得随意更改学生个人信息。
如发现错误,应由原录入人员进行更正。
3.3 完整性教务处或指定部门应确保学籍信息的完整性,不得遗漏任何重要信息。
如学生提供的信息有缺失,应积极与学生沟通,补充相关信息。
3.4 规范性教务处或指定部门应按照相关规定和标准进行学籍信息的收集、录入、审核和更新,确保学籍信息的规范性。
4. 注意事项4.1 授权只有经过授权的人员才能访问和操作学籍信息。
未经授权,任何人员不得随意查看、更改学生学籍信息。
4.2 培训教务处或指定部门应对相关人员定期进行学籍信息管理培训,提高其业务水平和信息保护意识。
4.3 监督学校应设立监督机制,对学籍信息管理过程进行监督,确保管理工作的公正、公平和透明。
4.4 应急预案教务处或指定部门应制定学籍信息管理应急预案,确保在发生突发情况时,能够及时采取措施,降低损失。
证件管理系统在当今社会,各种证件在我们的生活和工作中扮演着至关重要的角色。
无论是身份证、护照、驾驶证,还是学历证书、职业资格证书等,它们不仅是个人身份和能力的证明,也是社会管理和运作的重要依据。
随着信息量的不断增加和管理要求的日益提高,传统的证件管理方式已经难以满足需求,证件管理系统应运而生。
证件管理系统是一种利用信息技术对各类证件进行高效、准确、安全管理的工具。
它通过数字化、信息化的手段,将证件的信息进行采集、存储、处理和分析,实现了证件管理的自动化和规范化。
首先,证件管理系统能够实现证件信息的快速采集。
在传统的管理方式中,工作人员需要手动录入证件信息,这不仅效率低下,而且容易出错。
而证件管理系统通常配备了先进的扫描设备和识别技术,能够快速、准确地将证件上的文字、图像等信息转化为电子数据,并自动录入系统中。
这大大提高了信息采集的效率和准确性,节省了大量的人力和时间成本。
其次,该系统能够对证件信息进行有效的存储和管理。
系统会将采集到的证件信息按照一定的规则和格式进行存储,建立起完善的证件数据库。
这些数据库可以根据不同的需求进行分类和索引,方便用户快速查找和检索所需的证件信息。
同时,系统还具备数据备份和恢复功能,确保证件信息的安全性和可靠性。
再者,证件管理系统能够对证件的有效期进行实时监控和提醒。
对于一些具有有效期的证件,如驾驶证、护照等,系统可以设置提醒功能,在证件即将到期前自动向相关人员发送提醒通知,以便及时办理证件的续期或更换手续。
这有助于避免因证件过期而带来的不必要的麻烦和损失。
此外,该系统还具备强大的统计分析功能。
它可以对证件的类型、数量、分布等情况进行统计分析,为管理决策提供有力的数据支持。
例如,通过对某一地区职业资格证书的统计分析,可以了解该地区的人才结构和职业技能水平,为制定相关的人才政策和培训计划提供参考依据。
在实际应用中,证件管理系统广泛应用于政府部门、企事业单位、学校等各个领域。
文档编号:00版本号:V1.0文档名称:需求规格说明书项目名称:学生信息管理系统项目负责人:编写:校对:审核:批准:开发单位:08计算机科学与技术软件开发第六组需求规格说明(Requirements Specification)一.引言1.编写目的学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。
它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。
该管理系统为用户提供了一些简单的数据查询、输出各种信息等。
学生用户通过输入学生基本信息、课程基本信息等,由系统自行生成相应的数据以供学生查询,另外人事处的管理用户还可以对这些基本信息进行更新和删除, 学校学生管理信息系统力求给用户方便快捷的途径去管理这些繁琐的数据。
学生信息管理统统的功能需求共有一下几个方面:(1) 学生信息管理:管理所有学生的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需要的信息。
(2)课程信息管理:管理所有课程的基本信息,包括添加、修改、删除等;可以根据各种条件查询出需要的信息。
(3)选课与成绩管理:根据学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成绩。
2.项目背景本系统是是郑州华信学院,目前使用的是手工记录学生的信息。
随着学校规模的增大以及新增学生选课的影响,手工方式已经无法记录学生的实时信息,该学校决定用一套新的学生信息管理系统软件,并要求满足以下条件:(1)学生卡使用磁卡及防伪标志,学生卡如有遗失,学校方面可以补办、原资料需重新录入。
(2)学生不能转借给他人使用,如违反给予相应处罚。
学生管理系统功能及技术服务要求一、功能模块要求(一)学生基本信息1、学生基本信息:包括基本信息、高中信息、家庭信息、住宿信息、银行卡号等。
如:学校代码、学校名称、考生号、学号、姓名、性别、出生年月日、身份证号、政治面貌、民族、学院、专业代码、专业名称、班级代码、层次、类别、学制、入学时间、入学年份、邮政编码、家庭地址、生源地、户口性质(农村、城镇)、联系电话、登记照片(1寸蓝底)等(此部分可以和招生系统联系起来);学生职务、联系电话、QQ、微信、入住楼栋和宿舍、武汉建行卡号;毕业中学、学校地址、中学联系电话;父母姓名和紧急事件联系人、出生年月、职业、联系电话、家庭详细地址和邮编。
2、实现功能:权限设置(学校、各职能部门、学院、辅导员、学生五级账号及不同权限匹配)、批量导入、批量导出、(批量或单个)新增、修改、删除、批量检索查询、审核、数据统计、报表打印等。
(二)班级管理信息1、班级基本信息:学院、专业名称、班级代码、班级QQ群(微信群)、班级人数〈总数、男、女〉、带班辅导员、班主任、所属学生党支部。
2、班级奖惩信息:班级代码、参加赛事、获奖类别、获奖级别、获奖等级、获奖人员、获奖时间;处罚同。
3、实现功能:对接模块1,权限设置(学校、各职能部门、学院、辅导员、学生五级账号及不同权限匹配)、数据统计、批类查询、导入、导出、(批次或单个)新增、删除、修改、报表打印等。
(三)学生第二课堂和综合测评管理1、可选择录入信息:正能量:社会实践;志愿服务;科研活动;培训讲座;外出学习考察;校园活动;评优评先;创新创业;公益劳动;考级考证、各类竞赛(证书);资格证书;学生干部任职等情况。
以上,均需录入时间、地点、事项、类别、级别等信息负能量:旷课、旷操、违反校纪校规(或班规、公寓规定等)的其他情况、网络贷款、不诚信或其他违背公序良俗的行为、纪律处分;四困生情况等2、实现功能:对接模块1,权限设置(学校、各职能部门、学院、辅导员、学生五级账号及不同权限匹配)、数据统计、批类查询、导入、导出、(批次或单个)新增、删除、修改、报表打印等。
1系统的意义及其功能本系统为《学生证管理程序》。
系统任务描述:假设某校学生学生证基本信息主要包括:学号、、所在系、班级等,本系统应能对这些基本信息进行管理,并要求具有以下功能:(1)通过键盘输入某位学生的学生证信息。
学生证包含的信息请参看自己的学生证;(2)给定学号,显示某位学生的学生证信息;(3)给定某个班级的班号,显示该班所有学生的学生证信息;(4)给定某位学生的学号,修改该学生的学生证信息;2系统的功能结构图以及调用关系3系统功能详细分析学生证管理系统需要完成的功能主要有:从主函数进入各个子函数:子函数包括学生证信息的键入、查询信息的功能、修改学生证信息的功能、退出系统。
具体功能如下:3.1学生证信息的键入3.2 查询信息的功能查询记录的主要功能是通过不同的查询方式查询学生的信息。
先是进入查询界面,再选择查询的方式,选择后将输出该学生的信息。
共分为两种:○1 给定某个学生的学号,显示该学生的学生证信息; ○2 给定某个班级的班号,按学号排序来显示该班所有学生的学生证信息; 按班级排序来显示该班所有学生的学生证信息;3.2.1 输入学号,显示该生的学生证信息3.2.2 输入班号,显示该班所有学生的学生证信息3.3 修改学生证信息的功能4 运行界面主菜单界面修改信息功能修改信息的主要功能是通过输入某位学生的学号来修改该生的学生证信息。
先是进入修改界面,再输入学号,输入后,将输出该生的学生证信息,再选择是否修改此记录,选择是,则输入修改的信息,并保存修改。
开始主菜单修改学生证信息功能输入学号显示该生学生证信息是否修改写入并保存文件YN学生证键入的界面个人学生证信息显示界面显示班级信息的选择输出方式的界面按学号排序显示该班所有学生的学生证信息界面按排序显示该班所有学生的学生证信息界面显示班级信息的退出界面修改学生证信息的界面5系统使用说明1、进入程序时,先以菜单形式显示所有命令,然后用户通过菜单项选择操作;例如:1 学生证信息的键入2 输入学号,显示该生学生证信息3 输入班号,显示该班所有学生的学生证信息4 给定学号,修改该生学生证信息5 退出系统请选择[1/2/3/4/5]:2、键入学生证信息时,按照所给定的格式输入。
3、查询信息是按学生学号和班号的形式进行查询,填入学号后,则显示出该生所有信息;选择按班号查询功能后,在选择显示输出方式,分两种:一种按学号排序;另一种是按排序。
选定后,再填入班号,则显示出该班所有学生的学生证信息(按已选定的排序方式显示)。
4、修改信息是按输入学号的形式进行修改,填入后,则显示出该生所有信息,然后询问是否修改,若回答“y”(大小写通用),则输入新值,否则不作修改。
6 C语言源程序代码#include <stdio.h>#include <windows.h> //用来使用清屏函数#include <malloc.h>#include <string.h>#include <stdlib.h>#define LEN sizeof(struct STUcard)struct STUcard *creat();void viewperson();void viewclass();void number();void name();void change();struct STUcard *save();struct date{int year;int month;int day;}; //定义用来嵌套的结构体struct STUcard{int number;char name[20];char sex[10];char department[20];char classnumber[10];struct date timeofenter; //嵌套结构体char IDnumber[30];struct date birthday;struct STUcard *next;}; //定义结构体void main(){char c;int n=0;struct STUcard *head;char build; //创建文件FILE *fp;fp=fopen("XX.out","rb");if(fp==NULL){printf("文件不存在,请创建(Y or N)");scanf("%c",&build);if(build=='Y')fp=fopen("XX.out","wb");elseexit(0);}do{system("cls"); //清屏printf("*****************************************\n"); printf(" 1: 输入学生证信息 \n"); printf(" 2: 查找个人信息 \n"); printf(" 3: 查找班级里所有学生的学生证信息 \n"); printf(" 4: 修改学生证信息 \n"); printf(" 5: 退出 \n"); printf("*****************************************\n"); printf(" \n"); printf("请选择输入选项[1\\2\\3\\4\\5]:>");do{c=getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5');getchar();switch(c){case '1': head=creat(); break;case '2': viewperson(head); break;case '3': viewclass(head); break;case '4': change(head); break;case '5': exit(0); break;}printf(" 按任意键返回主菜单:\n");flushall();getchar();printf("%d",n);system("cls");}while(1);}struct STUcard *creat() //录入学生证信息函数{struct STUcard *head,*p1,*p2;n=0;head=NULL;p1=p2=(struct STUcard *)malloc(LEN);printf("请按以下格式输入学生证信息,注意每个数据之间间隔一个空格!\n以学号为00000000结束录入,并且剩下的信息字符用“0”代替输入注意:输入格式不变!:\n");printf("学号性别院系班级入学时间(年月日)号出生日期(年月日)\n");scanf("%d %s %s %s %s %d %d %d %s %d %d %d",&p1->number,p1->name,p1->sex,p1->department,p1->classnumber,&p1->timeofenter.year,&p1->timeofenter.month,&p1->timeofenter.day,p1->IDnumber, &p1->birthday.year,&p1->birthday.month,&p1->birthday.day);while(p1->number!=00000000){n=n+1;if(n==1) head=p1;else p2->next=p1;p2=p1;p1=(struct STUcard *)malloc(LEN);scanf("%d %s %s %s %s %d %d %d %s %d %d %d",&p1->number,p1->name,p1->sex,p1->department,p1->classnumber,&p1->timeofenter.year,&p1->timeofenter.month,&p1->timeofenter.day,p1->IDnumber, &p1->birthday.year,&p1->birthday.month,&p1->birthday.day);}p2->next=NULL;free(p1);save(head); //保存文件return(head); //把已录入信息的链表头指针返回给住函数}void viewperson(struct STUcard * head) //查找个人信息函数{int m,a=0;struct STUcard *p;printf("请输入学号:");printf(" \n ");scanf("%d",&m);p=head; //获取头指针,以使用链表while(p->next!=NULL) //判断是否为空指针{if(p->number==m){printf("学号:%d\n:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d日\n号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);printf("\n");a=a+1;}p=p->next; //结点后移}if(p->number==m){printf("学号:%d\n:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d日\n号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);printf("\n");a=a+1;}printf("\n");printf("共%d人\n",a);if(a==0) printf(" 对不起,查无此人!\n");}void viewclass(struct STUcard * head) //查找班级信息函数{char c;void number();void name();do{system("cls"); //清屏printf("****************************************\n");printf(" 1: 按学号排序输出 \n");printf(" 2: 按排序输出 \n");printf(" 3: 退出 \n");printf("****************************************\n");printf(" \n");printf("请选择输入选项[1\\2\\3]:>");do{c=getchar();}while(c!='1'&&c!='2'&&c!='3');getchar();switch(c){case '1': number(head); break;case '2': name(head); break;case '3': exit(0); continue;}printf(" 按任意键返回上层菜单:\n");flushall();getchar();system("cls");}while(1);}void number(struct STUcard *head) //按学号排序 {char c[10];int h1,a=0,i,j,k,w;char hname[20];char hsex[20];char hdepartment[20];char hclassnumber[10];char hIDnumber[30];struct date htimeofenter;struct date hbirthday;struct STUcard *p,*p2,*p3;p=head;p2=head;p3=p2->next;for(k=1;;k++) //用来确定链表中共多少个结点 {if(p->next!=NULL) p=p->next;else break;}for(i=0;i<k-1;i++){p2=head;p3=p2->next;for(j=0;j<k-1-i;j++){if(p2->number>p3->number){h1=p2->number;strcpy(hname,p2->name);strcpy(hsex,p2->sex);strcpy(hdepartment,p2->department);strcpy(hclassnumber,p2->classnumber);strcpy(hIDnumber,p2->IDnumber);htimeofenter=p2->timeofenter;hbirthday=p2->birthday;p2->number=p3->number;strcpy(p2->name,p3->name);strcpy(p2->sex,p3->sex);strcpy(p2->department,p3->department);strcpy(p2->classnumber,p3->classnumber);strcpy(p2->IDnumber,p3->IDnumber);p2->timeofenter=p3->timeofenter;p2->birthday=p3->birthday;p3->number=h1;strcpy(p3->name,hname);strcpy(p3->sex,hsex);strcpy(p3->department,hdepartment);strcpy(p3->classnumber,hclassnumber);strcpy(p3->IDnumber,hIDnumber);p3->timeofenter=htimeofenter;p3->birthday=hbirthday;}p2=p3;p3=p3->next;}}printf("请输入班级:\n");scanf("%s",&c);p=head;for(w=1;w<=k;w++){printf("\n");if(strcmp(p->classnumber,c)==0){printf("学号:%d\n:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d日\n号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);a=a+1;}p=p->next;}printf("\n");printf("共%d人\n",a);if(a==0) printf("对不起无此班级");}void name(struct STUcard *head) //按排序{char c[10];int h1,a=0,i,j,k,w;char hname[20];char hsex[20];char hdepartment[20];char hclassnumber[10];char hIDnumber[30];struct date htimeofenter;struct date hbirthday;struct STUcard *p,*p2,*p3;p=head;p2=head;p3=p2->next;for(k=1;;k++){if(p->next!=NULL) p=p->next;else break;}for(i=0;i<k-1;i++){p2=head;p3=p2->next;for(j=0;j<k-1-i;j++){if(strcmp(p2->name,p3->name)>0){h1=p2->number;strcpy(hname,p2->name);strcpy(hsex,p2->sex);strcpy(hdepartment,p2->department);strcpy(hclassnumber,p2->classnumber);strcpy(hIDnumber,p2->IDnumber);htimeofenter=p2->timeofenter;hbirthday=p2->birthday;p2->number=p3->number;strcpy(p2->name,p3->name);strcpy(p2->sex,p3->sex);strcpy(p2->department,p3->department);strcpy(p2->classnumber,p3->classnumber);strcpy(p2->IDnumber,p3->IDnumber);p2->timeofenter=p3->timeofenter;p2->birthday=p3->birthday;p3->number=h1;strcpy(p3->name,hname);strcpy(p3->sex,hsex);strcpy(p3->department,hdepartment);strcpy(p3->classnumber,hclassnumber);strcpy(p3->IDnumber,hIDnumber);p3->timeofenter=htimeofenter;p3->birthday=hbirthday;}p2=p3;p3=p3->next;}}printf("请输入班级:\n");scanf("%s",&c);p=head;for(w=1;w<=k;w++){printf("\n");if(strcmp(p->classnumber,c)==0){printf("学号:%d\n:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d日\n号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);a=a+1;}p=p->next;}printf("\n");printf("共%d人\n",a);if(a==0) printf("对不起无此班级");}void change(struct STUcard * head) //修改信息{ int x;struct STUcard *p1,*p2;printf("输入要修改学生的学号\n");scanf("%d",&x);p1=head;while((p1->number!=x)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p1->number==x){printf("请输入需要修改的信息:\n");printf("输入学号:");scanf("%d",&p1->number);printf("输入:");scanf("%s",p1->name);printf("输入性别:");scanf("%s",p1->sex);printf("输入院系:");scanf("%s",p1->department);printf("输入班级:");scanf("%s",p1->classnumber);printf("输入入学时间(年月日):");scanf("%d %d %d",&p1->timeofenter.year,&p1->timeofenter.month,&p1->timeofenter.day);printf("输入号:");scanf("%s",p1->IDnumber);printf("输入出生日期(年月日):");scanf("%d %d %d",&p1->birthday.year,&p1->birthday.month,&p1->birthday.day);printf("信息已修改");save(head);}else printf("%d 找不到该学号!\n",x);}struct STUcard *save(struct STUcard *head) //________保存函数{ FILE *fp;struct STUcard *p;p=head;fp=fopen("XX.out","w+");if(fp==0){printf("不能打开文件");exit(0);}while (p){fprintf(fp,"学号:%d\n:%s\n性别:%s\n院系:%s\n班级:%s\n入学时间:%d年%d月%d 日\n号:%s\n出生日期:%d年%d月%d日\n",p->number,p->name,p->sex,p->department,p->classnumber,p->timeofenter.year,p->timeofenter.month,p->timeofenter.day,p->IDnumber,p->birthday.year,p->birthday.month,p->birthday.day);printf("\n");p=p->next;}printf("\n文件保存成功!\n",n);fclose(fp);return head; //返回后结点}7心得体会通过这次的C语言程序设计,让我意识到自己的基础还不是太扎实,发现自己在编程方面还有些不足,有一些小小的错误不能避免。