学生管理系统。

合集下载

山东省学生信息管理系统使用说明

山东省学生信息管理系统使用说明

山东省学生信息管理系统使用说明欢迎使用山东省学生信息管理系统!本系统旨在方便学校、教师和学生管理学生信息,提高工作效率。

以下是详细的系统使用说明,请您仔细阅读,以便更好地使用本系统。

1. 系统登录在首次使用系统之前,请确保您已获得有效的登录账号和密码。

如有需要,请联系学校管理员进行账号注册。

1.在浏览器地址栏输入系统网址,进入登录页面。

2.输入您的账号和密码,点击“登录”按钮。

3.登录成功后,您将进入系统主界面。

2. 学生信息管理在主界面,您可以进行学生信息的添加、修改、查询和删除操作。

1.点击“学生信息”菜单,选择“学生列表”选项。

2.在学生列表页面,您可以查看所有学生的基本信息。

3.点击列表中的某条记录,可查看该学生的详细信息。

4.点击“添加学生”按钮,进入学生信息添加页面。

5.填写学生相关信息,点击“保存”按钮。

6.若需修改学生信息,点击“编辑”按钮,填写修改内容后点击“保存”。

7.若需删除学生信息,点击“删除”按钮,确认后即可删除。

3. 成绩管理在主界面,您可以进行学生成绩的添加、修改、查询和删除操作。

1.点击“成绩管理”菜单,选择“成绩列表”选项。

2.在成绩列表页面,您可以查看所有学生的成绩信息。

3.点击列表中的某条记录,可查看该学生的详细成绩信息。

4.点击“添加成绩”按钮,进入成绩信息添加页面。

5.填写学生相关信息和成绩,点击“保存”按钮。

6.若需修改成绩信息,点击“编辑”按钮,填写修改内容后点击“保存”。

7.若需删除成绩信息,点击“删除”按钮,确认后即可删除。

4. 班级管理在主界面,您可以进行班级信息的添加、修改、查询和删除操作。

1.点击“班级管理”菜单,选择“班级列表”选项。

2.在班级列表页面,您可以查看所有班级的基本信息。

3.点击列表中的某条记录,可查看该班级的详细信息。

4.点击“添加班级”按钮,进入班级信息添加页面。

5.填写班级相关信息,点击“保存”按钮。

6.若需修改班级信息,点击“编辑”按钮,填写修改内容后点击“保存”。

学生管理系统实施方案

学生管理系统实施方案

学生管理系统实施方案一、引言。

学生管理系统是学校管理工作的重要组成部分,它涵盖了学生信息管理、学生考勤管理、学生成绩管理等多个方面。

为了提高学校管理效率,确保学生信息的安全性和准确性,我们决定对学生管理系统进行全面升级和实施。

二、目标和意义。

1. 目标,通过学生管理系统的实施,实现学生信息的集中管理、便捷查询和准确统计,提高学校管理效率,为学生提供更好的服务。

2. 意义,学生管理系统的实施将有利于学校规范管理,提高信息化水平,减轻教职工的工作负担,为学校管理提供科学依据,促进学校管理的现代化和规范化发展。

三、实施方案。

1. 确定需求,首先,我们需要对学校的实际情况进行调研,明确学校对学生管理系统的需求,包括学生信息管理、成绩管理、考勤管理等方面的具体需求。

2. 系统选择,在明确学校需求的基础上,我们将进行学生管理系统的选择工作,选择适合学校实际情况的系统,确保系统的稳定性和安全性。

3. 系统定制,根据学校的具体需求,我们将对选定的学生管理系统进行定制化开发,确保系统能够满足学校的管理需求。

4. 系统测试,在系统定制完成后,我们将进行系统测试工作,包括功能测试、性能测试、安全测试等,确保系统的稳定性和可靠性。

5. 系统实施,在系统测试通过后,我们将进行系统的正式实施工作,包括系统的安装、数据迁移、培训等,确保系统能够顺利投入使用。

6. 系统运维,系统实施完成后,我们将进行系统的日常运维工作,包括系统的维护、更新、故障排除等,确保系统的稳定运行。

四、保障措施。

1. 安全保障,学生信息的安全性是学生管理系统实施的重要保障,我们将加强系统的安全防护措施,确保学生信息不被泄露。

2. 培训措施,在系统实施完成后,我们将对教职工进行系统使用培训,确保他们能够熟练操作学生管理系统,提高工作效率。

3. 监督检查,为了确保学生管理系统的正常运行,我们将建立监督检查机制,定期对系统进行检查和评估,及时发现和解决问题。

原创SQL数据库学生管理系统

原创SQL数据库学生管理系统

原创SQL数据库学生管理系统一、简介SQL数据库学生管理系统是一款用于管理学生信息的数据库系统。

该系统采用结构化查询语言(SQL)作为数据管理和查询的工具,通过对学生信息进行有效的组织和管理,实现了学生基本信息的录入、查询、修改和删除等功能。

本文将介绍该数据库系统的设计思路、功能模块和操作流程。

二、数据库设计1. 数据表设计数据库中包含以下几个数据表:•学生表(students):存储学生的基本信息,包括学生ID、姓名、性别、年龄等字段。

•课程表(courses):存储学生所选课程的信息,包括课程ID、课程名称、学分等字段。

•成绩表(scores):存储学生的成绩信息,包括学生ID、课程ID、成绩等字段。

2. 数据库关系设计学生表与课程表之间的关系是多对多关系,通过中间表(选课表)来建立关联关系。

选课表(selections)包含了学生ID和课程ID两个字段,用于记录学生所选课程的关系。

各个数据表之间的关系如下图所示:+------------+| students |+------------+|| 多对多关系|+------------+| courses |+------------+|| 一对多关系|+------------+| scores |+------------+三、功能模块SQL数据库学生管理系统包含以下几个功能模块:1. 学生信息管理模块该模块实现学生信息的录入、查询、修改和删除功能。

管理员可以通过该模块进行学生信息的管理,包括添加新的学生信息、查询学生信息、修改学生信息和删除学生信息等操作。

2. 课程信息管理模块该模块实现课程信息的录入、查询、修改和删除功能。

管理员可以通过该模块进行课程信息的管理,包括添加新的课程信息、查询课程信息、修改课程信息和删除课程信息等操作。

3. 成绩管理模块该模块实现学生成绩的录入、查询、修改和删除功能。

管理员可以通过该模块进行学生成绩的管理,包括添加学生成绩、查询学生成绩、修改学生成绩和删除学生成绩等操作。

学生基本信息管理系统

学生基本信息管理系统

学生基本信息管理系统摘要:学生基本信息管理系统是一种方便高校、中学和其他教育机构管理学生信息的计算机系统。

这个系统可以用于记录和管理学生的基本信息,如姓名、性别、出生日期、学籍号码、班级等,并提供一种便捷的方式进行查询和统计。

本文将详细介绍学生基本信息管理系统的设计和实现。

1. 引言随着教育的普及和大规模招生的增加,高校、中学和其他教育机构需要管理的学生信息数量不断增加。

传统的手工记录和管理方式已经无法满足实际需求,因此开发一种学生基本信息管理系统变得非常迫切和必要。

这个系统可以提高学生信息管理的效率和准确度,节约人力和时间成本。

2. 系统需求分析在开发学生基本信息管理系统之前,我们首先需要进行系统需求分析。

包括确定系统所需的功能,如学生信息录入、查询和统计等;确定系统的性能和可靠性要求;分析用户需求并进行功能需求规格说明等。

3. 系统设计和实现基于系统需求分析的结果,我们可以进行系统设计和实现的工作。

首先,我们需要设计数据库表结构,包括学生信息表、班级信息表等。

然后,我们可以根据需求设计用户界面,包括学生信息录入界面、查询界面、统计界面等。

最后,我们将根据设计结果实现系统,并进行各项功能测试和性能优化。

4. 学生信息录入学生信息录入是学生基本信息管理系统的核心功能之一。

在学生入学时,学校管理员可以使用系统录入学生的基本信息,如姓名、性别、出生日期、学籍号码、班级等。

这些信息将被保存在数据库中,并可以随时查询和修改。

5. 学生信息查询学生信息查询是学生基本信息管理系统的另一个重要功能。

教育机构的工作人员可以根据学生姓名、学籍号码、班级等条件进行查询,系统将返回符合条件的学生信息。

查询结果可以显示在界面上,并可以进行导出或打印。

6. 学生信息统计学生信息统计可以帮助教育机构了解学生的整体情况,并为决策提供依据。

学生基本信息管理系统可以提供多种统计功能,如按班级统计学生人数、按性别统计学生人数等。

这些统计结果可以以图表或表格的形式展示,帮助用户更直观地了解学生信息。

学生管理系统实验结论

学生管理系统实验结论

学生管理系统实验结论
学生管理系统是一种用于学校或教育机构管理学生信息的软件系统。

在进行实验后,我得出了以下结论:
1. 效率提升,学生管理系统可以帮助学校工作人员更高效地管理学生信息,包括个人资料、成绩、出勤等,从而提高工作效率。

2. 数据准确性,通过学生管理系统,可以减少手工记录和处理数据的错误,确保学生信息的准确性和完整性。

3. 信息透明,学生管理系统可以使学生、家长和老师更方便地获取学生的信息和学业表现,提高信息透明度和沟通效率。

4. 数据分析,学生管理系统可以对学生数据进行分析,帮助学校更好地了解学生的学习情况,从而制定更科学的教学计划和个性化辅导方案。

总的来说,学生管理系统在提高学校管理效率、数据准确性、信息透明度和数据分析方面都具有积极作用。

学生管理系统详细设计

学生管理系统详细设计

学生管理系统详细设计学生管理系统是一个用于学校或教育机构管理学生信息和管理学生日常事务的软件系统。

它通过集成学生信息、课程管理、成绩管理、考勤管理以及其他必要的功能模块,为学校提供了一个方便、高效且系统化的学生管理工具。

在详细设计学生管理系统时,应该考虑到以下几个方面:1.数据模型设计:需要定义学生、教师、课程、班级等数据对象的属性和关系。

可以使用关系数据库来存储和管理这些数据,并设计相关的表结构。

2.用户界面设计:考虑到用户易用性和操作效率,需要设计直观、友好的用户界面。

可以采用图形用户界面(GUI)或者Web界面,提供方便的操作和导航方式。

3.功能模块设计:包括学生信息管理、课程管理、成绩管理、考勤管理等功能模块的详细设计。

每个功能模块应该具备相应的操作和管理功能,并根据实际需求设计相应的界面和交互逻辑。

4.学生信息管理模块设计:5.课程管理模块设计:6.成绩管理模块设计:该模块用于录入和管理学生的成绩信息,包括考试科目、成绩等。

可以设计成绩录入、成绩查询、成绩统计等功能。

7.考勤管理模块设计:该模块用于管理学生的考勤信息,包括出勤、请假、迟到等。

可以设计考勤录入、考勤查询、考勤统计等功能。

8.数据安全和权限控制:为了保护学生信息的安全,可以设计数据备份和恢复功能,并设置不同用户角色的权限控制,保证只有合法的用户可以访问和修改学生信息。

9.性能优化和系统扩展:可以通过优化数据库查询、缓存等方式提高系统的响应速度和并发能力。

另外,还需要考虑到系统的扩展性,使得系统能够适应未来的需求变化。

总之,学生管理系统的详细设计需要充分考虑到功能、界面、数据模型、数据安全、性能和系统扩展等方面。

在设计过程中,需要与相关教师和管理员进行充分沟通,了解需求,并根据需求进行灵活的设计和迭代。

学生信息管理系统操作手册

学生信息管理系统操作手册

学生信息管理系统操作手册一、简介学生信息管理系统是一种用于学校管理学生信息的工具。

它可以用来记录学生的个人信息、课程安排、成绩等内容,并提供一系列功能供教师、学生和家长使用。

本篇文章将为您详细介绍学生信息管理系统的操作手册,帮助您熟悉该系统的各项功能和使用方法。

二、登录与注册1. 用户登录a. 打开学生信息管理系统的登录页面,输入用户名和密码;b. 点击“登录”按钮,进入系统的主界面。

2. 用户注册a. 打开学生信息管理系统的注册页面,填写必要的个人信息;b. 点击“注册”按钮,完成注册。

三、个人信息管理1. 查看个人信息a. 在系统主界面,点击个人信息选项卡;b. 查看自己的个人信息,如姓名、学号、性别、出生日期等。

2. 修改个人信息a. 在个人信息页面,点击“修改”按钮;b. 修改需要更新的个人信息,如联系方式、地址等;c. 点击“保存”按钮,更新个人信息。

四、课程信息管理1. 查看课程信息a. 在系统主界面,点击课程信息选项卡;b. 查看自己所选修的课程信息,如课程名称、课程时间、授课教师等。

2. 选择课程a. 在课程信息页面,点击“选择课程”按钮;b. 在弹出的课程列表中选择需要选修的课程;c. 点击“确认选择”按钮,完成选课。

五、成绩查询与管理1. 成绩查询a. 在系统主界面,点击成绩查询选项卡;b. 查看自己的成绩信息,如课程成绩、平均成绩等。

2. 成绩管理a. 对于教师用户,可以在教师专用界面进行成绩录入;b. 在成绩管理页面,选择相应的课程和学生,录入对应的成绩;c. 点击“保存”按钮,完成成绩录入。

六、考勤管理1. 查看考勤记录a. 在系统主界面,点击考勤管理选项卡;b. 查看考勤记录,如出勤次数、请假记录等。

2. 考勤记录管理a. 对于教师用户,可以在教师专用界面进行考勤记录管理;b. 在考勤记录管理页面,选择相应的课程和学生,录入考勤记录;c. 点击“保存”按钮,完成考勤记录管理。

学生信息管理系统需求规格说明书

学生信息管理系统需求规格说明书

学生信息管理系统需求规格说明书摘要本文旨在对学生信息管理系统进行需求规格说明,包括系统的功能需求、性能需求、界面需求以及约束需求等,以确保系统能够满足用户的需求并提供良好的使用体验。

1. 引言学生信息管理系统是一种用于记录和管理学生个人信息的软件系统。

它为学校、学生和教职员工提供了一个高效、可靠的信息交流和管理平台。

本章主要介绍系统的背景和目标,以及本规格说明的编写目的。

2. 功能需求2.1 学生信息录入功能学生信息管理系统应具备学生信息录入功能,包括姓名、学号、性别、出生日期、年级、班级等基本信息的录入和修改功能。

另外,系统还应支持上传学生照片的功能。

2.2 学生信息查询功能系统应具备学生信息查询功能,用户可通过指定学号或姓名等关键字进行查询,并返回相关学生信息的查询结果。

查询结果应包括学生的基本信息和相应的联系方式。

2.3 学生成绩管理功能系统应支持学生成绩的录入和管理功能。

教师可通过学生的学号或姓名录入学生成绩,并可以查看和修改学生成绩。

学生成绩管理功能还应包括成绩统计和分析功能,以便教师对学生成绩进行全面的评估和分析。

3. 性能需求3.1 响应时间系统的响应时间应尽可能地短,以确保用户能够快速地获取需要的信息或完成相应的操作。

系统对于学生信息的录入和查询操作,应在毫秒级别内完成。

3.2 并发性能学生信息管理系统应具备较强的并发性能,能够支持多个用户同时进行学生信息的录入、查询和修改等操作。

系统应能够正确处理并发操作,避免数据冲突和丢失。

3.3 数据存储性能系统应能够高效地存储和管理大量学生信息和成绩数据。

数据库的设计和优化要满足系统对于数据存取的高效性需求,保证数据的安全性和完整性。

4. 界面需求4.1 用户界面设计学生信息管理系统应具备简洁明了、直观友好的用户界面设计,方便用户进行操作和浏览相关信息。

界面应符合用户的使用习惯,尽量减少操作步骤并提供良好的用户反馈。

4.2 响应式设计系统的用户界面应具备响应式设计,能够适应不同尺寸的屏幕和设备,方便用户在不同终端上进行访问和使用。

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

#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 50#define OLDFILE "score.dat"#define NUMFILE "std.dat"#define A VEFILE "sort.dat"#define NEXTFILE "next.dat"typedef struct {int number;char name[20];int score[5];float average;}stu;int readfile(char *file, stu *record);void writefile(char *file, stu *record,int stunum); void mycreate();void display(char *file);void stamenu();void numsort();void stagrade();void managemenu();void makeup_note();void leave_note();void new_list();void avesort();void main() {char choose = 0;do {printf("请选择你需要的服务\n");printf("1. 创建学生记录\n");printf("2. 查询菜单\n");printf("3. 管理菜单\n");printf("4. 文盲慎入\n");printf("0. 退出系统\n");scanf("%c", &choose);switch(choose) {case '1':mycreate();break;case '2':stamenu();break;case '3':managemenu();break;case '4':printf("\n\t\t请自己实现创新功能!");getchar();break;case '0':exit(0);default:printf("\n\t\t%c为非法选项!\n",choose);break;}} while(1);}int readfile(char *file, stu *record){ int i = 0, j = 0;float ave = 0.0;FILE *fp = NULL;fp = fopen(file, "r");if(fp == NULL) {printf("Can't open the file!\n");return -1;}while ((feof(fp)) == 0){fscanf(fp,"%5d%20s", &record[i].number, record[i].name);for(j = 0; j < 5; j++)fscanf(fp, "%5d", &record[i].score[j]);fscanf(fp, "%f\n", &ave);record[i].average = ave;i++;if (i >= N) {printf("读取文件出错, 按任意键并关闭系统!/n");getchar();exit(0);}}fclose(fp);return i;}void writefile(char * file, stu * record, int stunum){int i = 0, j = 0;FILE *fp = NULL;for(i = 0; i < stunum; i++){fprintf(fp, "%5d%20s", record[i].number, record[i].name);for(j = 0; j < 5; j++)fprintf(fp, "%5d", record[i].score[j]);fprintf(fp, "6.1If\n", record[i].average);}fclose(fp);}void mycreate(){int i = 0, j = 0, f = 0, number = 0;char yes_no = '\0';stu record[N] = {0};i = readfile(OLDFILE, record);if (i < 0) {printf("文件为空,请从头创建学生记录! \n");i = 0;}do {if (i >= N) {printf("超出存储范围, 保存并退出输入. \n");break;}printf(" 第%d个学生\n",i+1);do {f = 0;printf("\n 学号:");scanf("%d", &number);for(j = 0; j <= i; j++)if(record[j].number == number) {printf("学号有误, 请重新输入....... \n");f = 1;break;}} while(f == 1);record[i].number = number;printf("\n 姓名:"); scanf("%s",record[i].name);printf("\n 数学成绩:"); scanf("%d", &record[i].score[0]);printf("\n 英语成绩:"); scanf("%d", &record[i].score[1]);printf("\n 物理成绩:"); scanf("%d", &record[i].score[2]);printf("\n 编程成绩:"); scanf("%d", &record[i].score[3]);printf("\n 马哲成绩:"); scanf("%d", &record[i].score[4]);record[i].average=0;i++;getchar();do {printf("\n 要继续吗(Y/N)?\n");scanf("%c", &yes_no);} while(yes_no != 'Y' && yes_no != 'y' && yes_no != 'N' && yes_no!='n');} while(yes_no == 'y'|| yes_no == 'Y');writefile(OLDFILE, record, i);printf("以下是对已输入学生信息的确认!\n");display(OLDFILE);getchar();}void display(char * file){stu student_info[N] = {0};int stu_num = 0, i = 0, j = 0;stu_num = readfile(file, student_info);if (stu_num <= 0 || stu_num > N) {printf("读取文件出错, 按任意键并关闭系统!/n");getchar();exit(0);}for (i = 0; i < stu_num; i++) {printf("学号: %d\n", student_info[i].number);printf("姓名: %s\n", student_info[i].name);printf("各门功课的分数如下: %d\n");printf(" 数学成绩: %d", student_info[i].score[0]);printf(" 英语成绩: %d", student_info[i].score[1]);printf(" 物理成绩: %d", student_info[i].score[2]);printf(" 编程成绩: %d", student_info[i].score[3]);printf(" 马哲成绩: %d", student_info[i].score[4]);printf("平均分: %d", student_info[i].average);}printf("确认完按任意键返回! \n");getchar();}void stamenu(){char choose='\0';do {printf("请选择你需要的选项");printf("1. 按学号排序");printf("2. 按平均分并排序");printf("3. 统计分数段");printf("4. 返回上一层");printf("0. 退出系统");switch(choose) {case '1':numsort();break; /*按学号排序*/case '2':avesort();break; /*计算平均分并排序*/case '3':stagrade();break; /*统计分数段*/case '4':return;case '0':exit(0);default :printf("\n\t\t%c为非法选项!\n", choose);break;}}while(1);}//按学号排列void numsort(){stu student_info[N] = {0};int stu_num = 0, i = 0, j = 0;int num, min, max;stu temp;stu_num = readfile(OLDFILE, student_info);if (stu_num <= 0 || stu_num > N) {printf("读取文件出错, 按任意键并关闭系统!/n");getchar();exit(0);}max = stu_num;min = 0;for (num = max - min; num > 0; num /= 2) {for (i = min + num; i <= max; i += num) {temp = student_info[i];for (j = i - num; j >= 0 && student_info[j].number < temp.number; j -= num) { student_info[j + num].average = student_info[j].average;strcpy(student_info[j + num].name, student_info[j].name);student_info[j + num].number = student_info[j].number;strncpy((char *)student_info[j + num].score, (char *)student_info[j].score, sizeof(student_info[j].score));}student_info[j + num].average = temp.average;strcpy(student_info[j + num].name, );student_info[j + num].number = temp.number;strncpy((char *)student_info[j + num].score, (char *)temp.score, sizeof(student_info[j].score));}}}//按平均成绩排列void avesort(){stu student_info[N] = {0};int stu_num = 0, i = 0, j = 0;int num, min, max;stu temp;stu_num = readfile(OLDFILE, student_info);if (stu_num <= 0 || stu_num > N) {printf("读取文件出错, 按任意键并关闭系统!/n");getchar();exit(0);}max = stu_num;min = 0;for (num = max - min; num > 0; num /= 2) {for (i = min + num; i <= max; i += num) {temp = student_info[i];for (j = i - num; j >= 0 && student_info[j].average < temp.average; j -= num) { student_info[j + num].average = student_info[j].average;strcpy(student_info[j + num].name, student_info[j].name);student_info[j + num].number = student_info[j].number;strncpy((char *)student_info[j + num].score, (char *)student_info[j].score, sizeof(student_info[j].score));}student_info[j + num].average = temp.average;strcpy(student_info[j + num].name, );student_info[j + num].number = temp.number;strncpy((char *)student_info[j + num].score, (char *)temp.score, sizeof(student_info[j].score));}}}void stagrade(){stu record [N] = {0};int i = 0, j, n = 0, count[5][5] = {0};n = readfile(A VEFILE,record);for(i = 0; i < n; i++) /*统计各学科各分数段人数,行表示科目,列表示分数段*/{for(j=0;j<5;j++)if(record[i].score[j]>=90)count[j][0]++;else if(record[i].score[j]>=80 && record[i].score[j]<90)count[j][1]++;else if(record[i].score[j]>=70 && record[i].score[j]<80)count[j][2]++;else if(record[i].score[j]>=60 && record[i].score[j]<70)count[j][3]++;else count[j][4]++;}printf("全班数学成绩如下: \n");for (i = 0; i < 4; i++) {printf("%d 分以上的有%d 人\n", 100 - 10 * i, count[0][i]);}printf("不及格%d 人\n", count[0][i]);printf("全班英语成绩如下: \n");for (i = 0; i < 4; i++) {printf("%d 分以上的有%d 人\n", 100 - 10 * i, count[1][i]);}printf("不及格%d 人\n", count[1][i]);printf("全班物理成绩如下: \n");for (i = 0; i < 4; i++) {printf("%d 分以上的有%d 人\n", 100 - 10 * i, count[2][i]);}printf("不及格%d 人\n", count[2][i]);printf("全班编程成绩如下: \n");for (i = 0; i < 4; i++) {printf("%d 分以上的有%d 人\n", 100 - 10 * i, count[3][i]);}printf("不及格%d 人\n", count[3][i]);printf("全班马哲成绩如下: \n");for (i = 0; i < 4; i++) {printf("%d 分以上的有%d 人\n", 100 - 10 * i, count[4][i]);}printf("不及格%d 人\n", count[4][i]);}void managemenu(){char choose='\0';do {printf("请选择从菜单中选择你需要的选项");printf("1. 生成并打印补考通知单");printf("2. 生成并打印退学通知单");printf("3. 生成并打印新名册");printf("4. 返回上一层");scanf("%c",&choose);switch(choose){case '1':makeup_note();break; /*生成并打印补考通知单*/case '2':leave_note();break; /* 生成并打印退学通知单*/ case '3':new_list();break; /*生成并打印新名册*/case '4':return;case '0':exit(0); /*返回*/default:printf("\n\t\t%c为非法选项!\n", choose);}} while(1);}void makeup_note() {stu record[N]={0};int i=0,j=0,n=0,t=0,count=0,time[5]={0},f=0;char site[5];char sl[6]={0};n = readfile(OLDFILE, record);for(i = 0; i < 5; i++) {switch(i){case 0:strcpy(sl,"数学");break;case 1:strcpy(sl,"英语");break;case 2:strcpy(sl,"物理");break;case 3:strcpy(sl,"编程");break;case 4:strcpy(sl,"马哲");break;}printf("\n\n 请输入科目%s补考时间(偶数的整点时间: 8 - 18点):", sl);do {f=0;scanf("%d",&t);if(t%2!=0) {printf("请输入偶数整点时间:");f=1;continue;}if(t<8 || t>18) {printf("请输入8-18整点时间:");f=1;continue;}for(j=0;j<i;j++)if(t==time[j]) {printf("与其他时间冲突!请重新输入:");f=i;break;}} while(f == 1);time[i] = t;printf("输入%s的补考地点,4位数字的教室号:如1001", sl);scanf("%s", site);site[4] = '\0';printf("%s补考安排信息如下, 按任意键确认! \n", sl);printf("科目: %s, 时间: %d, 教室: %s! \n", sl, time[i], site);getchar();}}void leave_note() {}void new_list(){stu record[N]={0};int i=0,j=0,n=0,count=0;n = readfile(OLDFILE, record);for(i=0;i<n;i++){count=0;for(j=0;j<5;j++)if(record[i].score[j]<60) count++;if(count>3) {for(j=i;j<n-1;j++)record[j]=record[j+1];i--;n--;}}writefile(NEXTFILE,record,n);display(NEXTFILE);}。

相关文档
最新文档