教师上课点名系统
随机点名系统毕业设计python

随机点名系统毕业设计一、引言随机点名系统作为一种教学辅助工具,可以帮助教师在课堂上随机点名学生,增加课堂纪律,激发学生的积极性。
设计并实现一个基于Python的随机点名系统是一种很有意义的毕业设计。
本文将介绍随机点名系统的设计思路以及系统的实现过程。
二、系统设计1. 系统功能随机点名系统的功能主要包括学生信息的录入、随机点名、点名记录的保存与管理等。
在系统设计时,需要充分考虑这些功能,确保系统的实用性和可靠性。
2. 技术选型在设计随机点名系统时,选择合适的技术是非常重要的。
Python作为一种功能强大且易于学习的编程语言,非常适合用于开发此类系统。
还可以结合使用GUI库来实现系统的用户界面。
3. 数据结构学生信息的管理是随机点名系统的核心功能之一。
在设计系统时,需要考虑如何合理地组织和管理学生信息。
可以使用字典、列表等数据结构来存储学生的尊称、学号等信息。
三、系统实现1. 学生信息录入模块在系统中,需要提供学生信息录入的功能。
通过输入学生的尊称、学号等信息,将学生信息保存到系统中。
2. 随机点名模块随机点名是随机点名系统的核心功能之一。
可以通过随机数生成算法来实现随机点名功能,并确保每位学生都有机会被点到。
3. 点名记录管理模块点名记录的保存与管理也是系统的重要功能之一。
可以将点名记录保存到文件中,以便后续的查阅和管理。
四、系统测试在系统设计和实现完成之后,需要对系统进行充分的测试,以确保系统的稳定性和可靠性。
可以进行单元测试、集成测试等多种测试手段,发现并解决系统中存在的问题。
五、总结设计并实现一个基于Python的随机点名系统,是对所学知识的全面运用和巩固。
通过本文的介绍,希望读者能够对随机点名系统的设计和实现有一定的了解,同时也能够对Python编程语言有更加深入的认识。
希望本文对相关领域的同学们能够有所帮助。
六、系统优化随机点名系统的设计和实现是一个不断优化的过程。
在系统测试中,可能会发现一些问题或者可以改进的地方。
Python实现上课点名器系统

Python实现上课点名器系统⽬录前⾔⼀、核⼼功能设计⼆、实现步骤1. UI排版布局设计2. 学⽣姓名加载3. 随机点名实现4. 连抽模式实现5. 抽取历史查看三. 打包配置总结前⾔前段时间,⽤PyQt5写了⼏篇⽂章,关于Python⾃制⼀款炫酷⾳乐播放器、⾃定义动态壁纸、车牌⾃动识别系统。
今天就继续给⼤家分享⼀个读者粉丝投稿的,关于上课点名的实战案例,⼀起来看看是如何实现的吧!⾸先我们还是⼀起先来看看点名器实现的效果:下⾯,我们开始介绍这款点名器的制作过程。
直接跳到⽂末获取源码及exe打包程序。
⼀、核⼼功能设计总体来说,我们这款点名器实现的思路⼤致是,可以⾃定义设置班级学⽣姓名或者默认通过学号进⾏学⽣随机点名抽取,可以每次单⼈抽取也可以⾃⼰选择连抽⼈数进⾏多⼈连抽,并将这些随机抽取的学⽣姓名历史数据显⽰。
拆解需求,接下来我们可以通过以下⼏步进⾏实现:1.UI排版布局设计,确认点名器的各个功能设计2.读取班级学⽣的姓名⽂件,将各个学⽣的姓名加载到列表中,如果没有学⽣姓名⽂件默认创建学号⽂件3.实现对学⽣姓名的随机点名抽取功能4.实现多⼈连抽模式5.查看随机抽取的学⽣姓名历史数据⼆、实现步骤之前有读者反馈说,不知道程序中具体需要哪些模块、包⽂件,下⾯我就把程序中⽤到模块先放出来。
主要包括了⽂件读写,随机数,PyQt5,win32con等。
import sys,osfrom random import randintfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtGui import *from PyQt5.QtCore import Qt, QTimerfrom PyQt5.QtWidgets import *from win32api import MessageBoxfrom win32con import MB_OK, MB_ICONWARNING1. UI排版布局设计根据点名器所需要的功能,⾸先我们可以进⾏UI布局设计,我们这次还是使⽤的pyqt5。
极域广播软件——点名功能简介

关于“极域教室”广播软件点名的使用方法
目前集团的班级逐渐增多,教务部门每天花费在班级点名的时间亦越来越多。
为分担教务部门的工作压力,提高整体办公效率,现研究制定了新的点名方式以供参考。
目前使用的教学广播软件“极域教室”具有自动点名的功能,并且还可以导出在线的学生名单,因此可以让授课讲师代为点名。
一、使用方法
1.打开“极域教室”,点击“点名选项”
2.点击“开始”按钮,之后学生端会出现会话框让学员自己输入姓名和班级。
3.等待所有人都提交完毕,如果有空闲机器无人提交,则可以点击“停止”。
4.点击“应用”,将学员姓名与所用主机绑定。
弹出如图对话框后点击“是”即可。
5.如需导出班级成员,则可以点击“导出”。
之后选择需要存放的路径即可。
6.导出后的表格样式如下图。
“姓名”列是在线的学生姓名,其他项无需关注。
其中红圈标记的行是无人的空闲机器,可以忽略不计。
二、综述
用此方式代替原有的人工点名方式有以下优点:
1.减少了教务部门每天点名的时间,提高工作效率;班主任无需再亲自去教室填
写纸质签到表,授课讲师通过邮件即可发送点名表给教务部门,实现低碳办公。
2.通过点名签到方式让学生主动将自己的真实姓名与所用主机绑定,方便授课讲
师远程监控学生的上课行为。
并可以截图保留学员上课的违规行为证据,方便
后续就业部门的综合评估。
如图:。
点名系统实验报告

一、实验目的1. 了解点名系统的基本原理和功能。
2. 掌握点名系统的设计方法和技术。
3. 通过实际操作,提高对点名系统应用能力的掌握。
二、实验环境1. 操作系统:Windows 102. 开发环境:Visual Studio 20193. 数据库:MySQL 5.74. 编程语言:C#三、实验内容1. 点名系统概述2. 系统需求分析3. 系统设计4. 系统实现5. 系统测试与优化四、实验步骤1. 系统需求分析(1)功能需求① 用户登录:管理员登录和普通用户登录。
② 学生信息管理:增加、删除、修改学生信息。
③ 班级管理:增加、删除、修改班级信息。
④ 点名记录:实时记录学生出勤情况。
⑤ 数据统计:按班级、按时间统计出勤情况。
(2)性能需求① 系统响应时间:用户操作后,系统响应时间不超过2秒。
② 系统并发用户数:支持10个用户同时在线操作。
2. 系统设计(1)系统架构采用B/S(Browser/Server)架构,分为前端和后端两部分。
前端:采用HTML、CSS、JavaScript等技术实现,主要负责用户界面展示和交互。
后端:采用C#语言开发,负责业务逻辑处理和数据库操作。
(2)数据库设计① 学生信息表(student)- 学号(id):主键,自动增长- 姓名(name):字符串- 性别(gender):字符串- 班级(class_id):外键,关联班级信息表② 班级信息表(class)- 班级ID(id):主键,自动增长- 班级名称(name):字符串③ 点名记录表(attendance)- 记录ID(id):主键,自动增长- 学号(student_id):外键,关联学生信息表- 班级ID(class_id):外键,关联班级信息表- 状态(status):字符串,表示出勤情况(如:正常、迟到、缺勤等)3. 系统实现(1)前端实现使用HTML、CSS、JavaScript等技术实现用户界面,包括登录界面、学生信息管理界面、班级管理界面、点名记录界面和数据统计界面。
点名小程序

点名小程序随着移动互联网技术的快速发展和智能终端的普及,移动应用程序成为人们生活和工作中必不可少的一部分。
而在学校教育领域,点名是每天必须进行的重要环节。
传统的点名方式存在诸多问题,比如耗时耗力、容易出错等。
为了解决这些问题,开发出了一款名为“点名小程序”的移动应用。
点名小程序可以轻松地替代传统的纸质点名册,为教师和学生提供更加便捷高效的点名方式。
该小程序可以在手机、平板电脑等设备上运行,无需额外的硬件设备,实现随时随地进行点名的功能。
一、功能特点1. 学生信息管理:点名小程序可以方便地管理学生的个人信息,包括姓名、学号、照片等。
教师可以根据需要随时添加、修改或删除学生信息,保证学生信息的准确性和及时性。
同时,学生也可以查看自己的个人信息,确保信息的完整性。
2. 班级管理:该小程序可以实现多班级的管理,教师可以方便地创建和管理不同班级的学生。
通过班级管理功能,教师可以快速找到需要点名的班级,提高点名的效率。
3. 点名记录:点名小程序可以记录每次点名的信息,包括点名时间、点名方式、出勤情况等。
教师可以随时查看历史点名记录,方便进行考勤管理和统计分析。
4. 自定义点名方式:点名小程序支持多种点名方式,如手动点名、随机点名、按序点名等。
教师可以根据实际情况选择适合的点名方式,灵活应对不同的教学场景。
5. 统计分析功能:点名小程序可以根据点名记录进行统计分析,实时生成出勤率、缺勤率、迟到率以及各类考勤统计报表。
这些数据可以帮助教师更好地了解学生的出勤情况,及时发现和解决问题。
二、使用流程1. 教师注册登录:教师需要先注册一个账号,并使用该账号进行登录。
注册时需要提供有效的教师身份信息,以保证账号的合法性。
2. 创建班级:登录后,教师可以创建多个班级,并添加学生信息。
3. 点名操作:在点名前,教师可以选择点名方式,并设置相关参数。
点名时,教师可以通过手动输入学生姓名、点击学生头像或者通过语音输入学生名字进行点名。
基于Android平台的课堂点名系统的设计与实现

一、引言 课堂考勤是教师教学管理中一个必要的环节,很多学校也将课 堂考勤纳入到教师的教学常规工作考核中。至今为止,大部分教师都 是通过纸质点名簿进行口头点名,会耽误一定的课堂教学时间,也不 便于教师与教务等管理部门做学生出勤情况的统计与分析,同时很难 监管冒名顶替、迟到早退等行为。观察学校情况可知,随着移动通信 技术的发展,高职院的学生至少都有一台手机,且使用Android系统 的手机占有率比较高,因此设计并实现了一个基于Android平台的课 堂点名系统。本系统选择Eclipse作为开发平台,用SQLite数据库管理 系统,使用Tomcat服务器软件。该系统具有考勤、统计分析等功能, 教师选择点名功能,系统将扫描课室范围内的蓝牙设备,然后向该设 备发送签到的信息,学生签到后将会点亮其头像并显示在教师端。同 时,系统会将考勤信息传送到服务器,方便教师与管理部门对考勤情 况做统计与分析。 二、相关技术介绍 1.Android。Android是一种基于Linux的自由及开放源代码的操作 系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司 和开放手机联盟领导及开发。 2.SQLite。SQLite,是一款轻型的遵守ACID的关系型数据库管理 系统,它包含在一个相对小的C库中。它占用资源非常的低,在嵌 入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/ Linux/Unix等主流的操作系统,同时能够跟C#、PHP、Java等程序设计 语音结合,还有ODBC接口。 3.蓝牙。蓝牙(Bluetooth):是一种无线技术标准,可实现固 定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用 2.4~2.485GHz的ISM波段的UHF无线电波)。 4.Tomcat。Tomcat是一个开源免费的Web应用服务器,在中小型 系统和并发用户不是很多的情况下普遍使用。 5.MVC。MVC全名是Model View Controller,是模型(model)-视图 (view)-控制器(controller)的缩写,用一种业务逻辑、数据、界面显示 分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个 性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 三、系统设计 该系统包含教师与学生两个用户类型,教师用户包括课堂考 勤、请假审批与出勤统计功能,学生用户实现签到和请假的功能。
随机点名系统完整版

《软件工程》课程设计随机点名系统的设计与实现专业:计算机科学与技术班级:软件051、052班学生姓名:杨银玲、温鹏、王东东、韩冀指导教师:***2008 年12 月31 日目录一、随机点名系统需求分析 (6)1、引言 (6)1.1、项目名称 (6)1.2、项目背景和内容概要 (7)1.3、相关资料、缩略语、定义 (7)2、项目概述 (7)2.1、被开发软件一般描述 (7)2.2、被开发软件的功能 (8)2.3、实现语言 (8)3、系统进程 (8)3.1、系统模块图: (8)3.2、系统主要流程: (9)4、数据描述 (12)4.1、原始数据描述 (12)4.2、数据流向图 (12)4.3、数据概念模型和描述 (13)5、功能需求 (14)5.1、功能描述 (14)5.3、处理要求 (14)5.4、输出要求 (15)6、界面要求 (15)6.1、报表格式 (15)6.2、图形要求 (15)6.3、输入输出要求 (15)7、接口要求 (15)7.1、硬件接口 (15)7.2、软件接口 (15)7.3、通讯接口 (15)8、性能要求 (16)8.1、数据精确度 (16)8.2、数据量 (16)8.3、时间特性要求 (16)8.4、灵活性 (16)9、运行环境要求 (16)9.1、网络和硬件设备平台 (16)9.2、操作系统平台 (16)9.4、编程工具 (16)9.5、其他支持软件 (16)二、随机点名系统详细设计 (16)1、引言 (17)1.1、项目名称 (17)1.2、编写目的 (17)1.3、项目背景及内容摘要 (17)1.4、相关资料、缩略词、术语 (17)1.5、参考资料 (17)2、程序结构 (17)2.1、程序结构图 (17)2.2、程序文件清单 (18)3、程序设计说明 (19)3.1、程序功能描述 (19)3.2、输入项与输出项 (19)3.3、主要数据结构 (19)3.4、存取的数据库表和字段 (20)3.5、调用的函数及控件 (20)3.7、测试要点 (21)4、用户界面设计说明 (22)4.1、登录界面 (22)4.2、教师界面 (22)4.3、管理员界面 (24)4.4、学生界面图 (27)三、随机点名系统实现与测试: (28)1、管理员模块中数据的添加、删除、修改的功能测试 (28)2、用户登陆测试 (29)3、随机点名、记录给分功能测试 (30)4、打印功能测试 (30)5、导入导出数据功能测试 (31)四、随机点名系统调试与运行: (32)五、随机点名系统总结: (33)六、附录(相关代码) (33)一、随机点名系统需求分析1、引言在高等院校、职中专、大专学校里,学生考勤是一项日常必要性的工作,学校的各院系需要了解和掌握各班级的学生出勤情况,以加强对学生的教育和管理。
课堂点名系统的设计与实现

课堂点名系统的设计与实现随着社会的发展和科技的进步,现在在学校的各种教学管理方面都可以看到这种或那种的技术。
课堂点名系统就是其中的一种,它可以整合信息技术和教学活动,使老师能够快速有效地点名,让上课后学生知道自己的考勤情况。
课堂点名系统是一种使用了信息技术的考勤系统,主要由服务端和客户端组成。
服务端由一套数据库和管理系统组成,能够把教师、专业课程、学生、考勤记录等信息统一管理,提高管理效率。
客户端支持许多种类的终端操作,可以方便的实现老师和学生的点名和管理功能。
课堂点名系统的设计主要需要考虑以下几个方面:一是完善教师对学生考勤和管理的操作流程,简化日常操作,提高管理效率。
二是支持多种终端,使老师可以使用自己喜欢的终端,而不受到任何硬件上的限制。
三是安全性,要确保学生和老师的考勤信息不被外界窃取,同时让系统更加安全可靠。
四是兼容性,要让系统对于其他各种系统架构的不同兼容,方便日常的使用和维护。
五是友好性,要让系统的操作界面更加友好,不仅仅减少操作者成本,也要让系统更加易用性。
实施一套完善的课堂点名系统,需要解决上述问题,另外还要考虑到资源的管理和使用,以及学校的网络环境的安全。
首先,在课堂点名系统的设计过程中,要让系统具有良好的设计模式,具有可扩展性,以适应未来新型终端等方面的变化;其次,要建立一个安全可靠的数据库管理系统,为老师提供管理上课学生和考勤记录的基础信息,以保证系统的安全性;最后,要利用现有的网络环境进行网络连接,实现老师远程管理学生考勤的功能。
经过这样的设计和实施,课堂点名系统的运行可以得到大幅改善,不仅老师可以更随心所欲地控制学生考勤,也能提高整体的管理效率。
此外,还可以节省大量的时间成本,减少老师的工作量,确保学生的学习和学习环境更加有序。
综上所述,课堂点名系统的设计与实现,不仅有利于老师管理学生考勤,也有利于提高老师的工作效率,而且还能够使学生接受更好的学习环境。
因此,课堂点名系统的设计和实施,都是学校管理教学活动必不可少的一环,是必须要去研究和实现的一项任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓名__________ 指导教师___尹航___年月日沈阳航空工业学院课程设计任务书电子工程系电子信息工程专业84020103班学号2008040201106一、课程设计题目:教师上课随机点名二、课程设计工作自2009年9月7日起至2009年9月11日止三、课程设计内容:用C语言编写软件完成以下任务:教师在每次上课时,需要对学生点名提问。
学生信息应事先保存到文件file20.txt 中。
学生共有7人,名单如下:101 杜永宁N 102 段楠N 103 冯红N 104 郝苇N 105 胡龙N106 李南N 107 刘盈N所谓点名,是指将某位同学的姓名和学号打印到屏幕上,则表示该同学是否缺席。
四、课程设计要求:1.程序质量:●贯彻结构化的程序设计思想。
●用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
●用户界面中的菜单至少应包括“开始点名”、“信息统计”、“学生信息添加”、“退出”4项。
●代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2.课程设计说明书:课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容如下:●课程设计任务书●程序设计题目●需求分析(分析题目的要求)●程序框图●核心技术的实现方法及程序源代码及注释●个人总结●[参考资料]五、指导教师:学生签名:六、成绩:七、教师评语:_目录一、需求分析 (2)二、程序流程图 (3)三、核心技术的实法现方 (8)四、个人总结 (13)五、参考文献 (14)六、源程序 (14)一、需求分析此程序是为点名而设计,经分析可知,整个程序的设计实现大致分为四个模块,其中每一个模块对应一个功能,他们的功能分别是:程序界面设计模块,文件读写模块,显示点名情况模块,随机算法模块。
1、程序界面设计模块主要实现程序最初运行时程序界面友好、美观的的构型以及简明的操作提示;2、文件读写模块实现的功能是对file20.txt文件数据的读取和存储,将文件中的数据保存到结构体student 中,并将点名次数通过save函数保存到文件中;3、显示点名情况模块按照题目的要求将数据文件中所有学生的学号、姓名、是否缺席打印到屏幕上;4、点名算法模块通过调用自定义函数open()和rew()实现点名,并将被点到的学号、姓名、是否缺席打印到屏幕上;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
二、程序流程图1、整体框架图:图1:整体框架图2、流程图Save 函数进行保存的流程图图2 Sa ve 函数进行保存的流程图3、点名模块的流程图图3:点名模块的流程图4、学生信息修改图图3:学生信息修改图三、核心技术的实法现方1、结构体的定义并把原始信息一同定义在结构体成员中,是程序的核心内容之一struct student{long num;char name[10];char data;}st[7];从上面的定义中可以看出,结构体类型定义中成员项都有确定的类型和名字,而要使用结构体类型的数据,必须经过两个步骤:先由关键字struct和用户定义的结构体名来说明类型,然后在由它们说明变量。
2、Void open()是自定义函数它的主要用途是打开预存的学生的信息,并把它显示在屏幕上给老师点名。
程序如下:void open(){ int i;FILE *fp;if((fp=fopen("file20.txt","ab+"))==NULL){printf("文件打开失败\n");exit(0);}for(i=0;i<7;i++){fread(&st[i],sizeof(struct student),1,fp);printf("%d\t%s\t%c\n",st[i].num,st[i].name,st [i].data);}}3、Void rew()是学生信息修改程序,提供给老师对缺席学生信息的修改,即缺席的学生,老师只要输入学号,程序就将该学生的缺席情况自动改为”Y”。
如下:void rew(){int i;int h=1;int k;char j;FILE *fp;if((fp=fopen("file20.txt","r"))==NULL){printf("文件打开失败\n");exit(0);}printf("***********学生缺席请按'a'进行修改*********\n");printf("***********输入'b'跳出修改**********\n");while(h){scanf("%c",&j);switch(j){case 'a':printf("缺席学生学号\n");scanf("%d",&k);k=k-101;st[k].data='Y';break;case 'b':h=0;}}for(i=0;i<7;i++){fread(&st[i],sizeof(struct student),1,fp);printf("%d\t%s\t%c\n",st[i].num,st[i].name,st [i].data);}}4、void save()是保存学生信息的自定义函数,主要将修改后的学生信息保存到file20.txt文档中去,实现保存功能。
程序如下:void save(){int i;FILE *fp;if((fp=fopen("file20.txt","rb+"))==NULL){printf("文件打开失败\n");exit(0);}for(i=0;i<7;i++)if(fwrite(&st[i],sizeof(structstudent),1,fp)!=1)printf("文件保存失败\n");}在上面的程序段中,用到了三个调用函数语句进行操作,尽管在程序化设计中有些重复,但其很方便,应用及操作比较简单。
比如void open()语句是为了打开file20.txt文件并输出学生情况进行点名,void rew()语句点名是进行信息统计,void save()是保存功能的函数,通过它实现了学生信息的添加及保存。
四、个人总结在此次课设之前我C语言学的一般,只能勉强应付考试,很多概念都非常模糊记不清楚。
虽然,我的编程题目并不算难,但是,在这一周的时间里,经过不断的学习与努力及与同学进行探讨,还有老师的指导,我的C语言编程终于能圆满完成。
虽然程序还有一定的瑕渍,但我以尽力自己独立完成了。
我感到C语言程序设计确实是一门很有用的学科,所以这次课设并不是一个结束,而是一个开始,一个对C 语言更深入学习的开始。
并借着机会继续学习C语言,努力尽早通过国家计算机二级考试。
五、参考文献1 姚合生.C程序设计.北京:清华大学出版社,20082 刘成等.C语言程序设计实验指导与习题集.北京:中国铁道出版社,2006六、源程序#include <stdlib.h>#include <stdio.h>#include <math.h>struct student{long num;char name[10];char data;}st[7]={{101,"杜永宁",'N'},{102,"段楠",'N'},{103,"冯红",'N'},{104,"郝苇",'N'},{105,"胡龙",'N'},{106,"李南",'N'},{107,"刘盈",'N'}};void open(){ int i;FILE *fp;if((fp=fopen("file20.txt","ab+"))==NULL){printf("文件打开失败\n");exit(0);}for(i=0;i<7;i++){fread(&st[i],sizeof(struct student),1,fp);printf("%d\t%s\t%c\n",st[i].num,st[i].name,st[i].data);}}void rew(){int i;int h=1;int k;char j;FILE *fp;if((fp=fopen("file20.txt","r"))==NULL){printf("文件打开失败\n");exit(0);}printf("***********学生缺席请按'a'进行修改*********\n");printf("***********输入'b'跳出修改**********\n");while(h){scanf("%c",&j);switch(j){case 'a':printf("缺席学生学号\n");scanf("%d",&k);k=k-101;st[k].data='Y';break;case 'b':h=0;}}for(i=0;i<7;i++){fread(&st[i],sizeof(struct student),1,fp);printf("%d\t%s\t%c\n",st[i].num,st[i].name,st[i].data);}}void save(){int i;FILE *fp;if((fp=fopen("file20.txt","rb+"))==NULL){printf("文件打开失败\n");exit(0);}for(i=0;i<7;i++)if(fwrite(&st[i],sizeof(struct student),1,fp)!=1)printf("文件保存失败\n");}void main(){ struct student{long num;char name[10];char data;}st[7]={{101,"杜永宁",'N'},{102,"段楠",'N'},{103,"冯红",'N'},{104,"郝苇",'N'},{105,"胡龙",'N'},{106,"李南",'N'},{107,"刘盈",'N'}};int i;int c;printf("******************************************************* *******************\n");printf("********************************MENU***************** *********************\n");printf("****************************欢迎使用教师上课点名系统**********************\n");printf("****** 输入1:开始点名*********\n");printf("****** 输入2:信息统计*********\n");printf("****** 输入3:学生信息添加*********\n");printf("****** 输入4: 退出*********\n");printf("*********************************************************** ***************\n");while(1){scanf("%d",&c);switch(c){case 1:printf("学号\t姓名\t是否缺席\n");open();break;case 2:rew();printf("*****************学生信息添加完毕,请保存*******************\n");break;case 3:save();printf("*****************信息添加成功,输入4退出********************\n");break;case 4:exit(0);}}}。