学生成绩管理系统程序分析
- 格式:doc
- 大小:524.50 KB
- 文档页数:43
一、课程设计题目:学生成绩管理二、需求分析给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名、性别以及各科成绩组成。
对学生的考试成绩进行有关统计:按总数高低次序,打印出名次表,分数相同的为同一名次;按名次打印出每个学生的学号、姓名、总分以及各科成绩,并打印统计表。
三、概要设计程序要有的功能:1。
输入记录2。
用指定格式显示全部记录3。
根据姓名查找记录4。
根据姓名删除记录5. 保存记录到文件6。
按序号显示记录7。
按姓名由小到大的顺序排序程序运行当中,通过选择对应的功能序号来实现所需功能。
对输入的数据要有事先的分析,如果用户输入的数据与实际不相符如输入成绩的数值为负,则程序应输出相应的提示:“您输入的数据有误,请核实!”。
再者就是,当再输入完相应的数据后,程序作出相应的提示,询问用户是否要保存数据。
在排列学生成绩时候,如果出现成绩相同的情况,程序自动作出处理。
最后,在程序可以正确运行的基础上,再增加一些功能,如在排列的时候,自动输出最高分与最低分。
与及格成绩作比较,输出及格人数等相关信息。
流程图:四、详细设计源程序:#include ”stdio。
h”#include "stdlib.h”#include "string。
h”int shoudsave=0;/* */struct student{char num[10];/*学号*/char name[20];char sex[4];int cgrade;int mgrade;int egrade;int totle;int ave;char neartime[10];/*最近更新时间*/};typedef struct node{struct student data;struct node *next;}Node,*Link;void menu(){printf(”*********************************主菜单*****************************************”);printf(”\t1登记学生资料\t\t\t\t\t2删除学生资料\n”);printf(”\t3查询学生资料\t\t\t\t\t4修改学生资料\n”);printf(”\t5保存学生资料\t\t\t\t\t0退出系统\n”);printf(”********************************************************************************\n");}void printstart(){printf(”-————---—-——————--——----———-—-—-————--————--—--—--—-————---—-—————--———\n”);}void Wrong(){printf(”\n=====>提示:输入错误!\n”);}void Nofind(){printf("\n=====〉提示:没有找到该学生!\n");}void printc()/*本函数用于输出中文*/printf(”学号\t 姓名性别英语成绩数学成绩C语言成绩总分平均分\n”); }void printe(Node *p)/* 本函数用于输出英文*/{printf("%—12s%s\t%s\t%d\t%d\t%d\t %d\t %d\n",p—〉data。
学生成绩管理系统ER图+流程图+组织结构图-课程设计学生成绩管理系统分析与设计一、系统概述1。
1、现状分析目前在中小学中,学生的成绩管理主要以班级为单位,由各班班主任以表格的形式直接输入电脑中,故就整个学校而言对于学生成绩的管理较为分散,涉及的人员较多且不利于相关的统计工作,学生的成绩信息也得不到长久的保存。
现行系统业务流程图如下:1。
2、系统目标总体目标:实现学校对所有班级、学生的成绩信息进行系统的管理,便于操作,便于查询。
具体目标:1、管理员能够方便地对信息进行添加、编辑、删除、查询等操作。
2、教务人员可以方便地查询所需的成绩信息,并得到相应的统计报表。
3、简化现有系统的流程,使之更加便捷、高效。
1。
3、系统开发方法客户端采用Visual ,后台采用SQL server 2000。
1。
4、开发计划1、初步调查:以询问、查询资料的形式,对学校现行的学生成绩管理方式进行调查,确定现行方式所存在的问题以及相关需求并进行分析。
2、可行性分析:根据初步调查的情况,从技术上、经济上、管理上进行开发的可能性和必要性分析。
3、详细调查:详细了解情况并绘制组织结构图和业务流程图.4、系统的设计:根据对所调查情况的分析,进行系统的各种设计。
二、系统分析2.1、系统需求分析功能需求简述:为了掌握学生的各门课程的成绩情况,将信息保存在一个本地的数据库中,并通过一定的统计功能,实现对全部学生成绩的统计分析,满足教务人员对成绩信息的管理和查询需求,提供一个电子化的成绩管理平台. 系统目标:对于本系统,我们需要实现以下一些基本功能:1、掌握每位学生每一门课程的成绩信息,并记录在数据库中.2、可以按不同的方式对成绩进行管理(1)、按课程,对学习每门课程的每位学生进行添加、删除和修改。
(2)、按学生,对每位学生学习的每门课程的成绩进行添加、删除和修改。
3、可以针对不同的需求,提供相关的报表打印功能. 2。
2、业务流程分析2。
学生成绩管理系统c语言课程设计报告一、引言学生成绩管理系统是一个为学校或教育机构提供学生学业成绩管理的重要工具。
通过该系统,可以方便地记录和查询学生的各项成绩,帮助教师和学生了解学生的学业表现,及时作出教学和学习的调整和改进。
本文将介绍一个基于C语言的学生成绩管理系统的设计与实现。
二、需求分析1. 学生信息管理:包括学生基本信息的录入、修改和删除。
2. 成绩信息管理:包括成绩的录入、修改和删除。
3. 成绩查询与统计:可以按照学生学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。
4. 数据存储与备份:能够将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。
三、系统设计1. 学生信息管理模块:设计一个结构体来存储学生的基本信息,包括学号、姓名、性别、年龄等。
通过菜单选择,可以实现学生信息的录入、修改和删除功能。
2. 成绩信息管理模块:设计一个结构体来存储学生的成绩信息,包括科目名称和成绩。
通过菜单选择,可以实现成绩信息的录入、修改和删除功能。
3. 成绩查询与统计模块:通过学号或姓名查询学生的成绩,并能够进行成绩的统计分析,如计算平均分和排名等。
4. 数据存储与备份模块:设计文件操作函数,将学生信息和成绩信息存储在文件中,并能够进行数据的备份和恢复。
四、系统实现1. 使用C语言编写程序代码,通过结构体和数组等数据结构实现学生信息和成绩信息的存储。
2. 利用文件操作函数实现数据的读取和存储,包括学生信息和成绩信息的存储和备份。
3. 设计菜单界面,通过用户选择来实现各个功能模块的调用。
五、系统测试与优化1. 针对各个功能模块进行测试,验证系统的正确性和稳定性。
2. 根据测试结果优化程序代码,提高系统性能和用户体验。
3. 完善系统功能,考虑异常情况的处理,提高系统的容错性和健壮性。
六、总结与展望通过本次课程设计,我们成功实现了一个基于C语言的学生成绩管理系统。
该系统能够方便地记录和查询学生的成绩信息,帮助教师和学生进行教学和学习的分析和改进。
学生成绩管理系统数据流程图及数据字典随着教育信息化的发展,学生成绩管理系统在学校中得到了广泛应用。
学生成绩管理系统是一种利用计算机技术对学生成绩进行管理和分析的系统。
本文将介绍学生成绩管理系统的数据流程图及数据字典,以匡助读者更好地理解该系统的数据处理流程和数据结构。
一、数据流程图1.1 学生成绩录入流程- 学生成绩管理员登录系统- 选择录入成绩功能- 输入学生学号和成绩信息- 确认提交1.2 学生成绩查询流程- 学生/教师登录系统- 选择查询成绩功能- 输入学生学号或者姓名- 系统显示学生成绩信息1.3 学生成绩统计流程- 教师登录系统- 选择统计功能- 选择统计范围(班级/科目等)- 系统生成成绩统计报表二、数据字典2.1 学生信息表(Student)- 字段:学号(ID)、姓名(Name)、性别(Gender)、班级(Class)- 主键:学号(ID)2.2 成绩信息表(Score)- 字段:学号(ID)、科目(Subject)、成绩(Grade)- 主键:学号(ID)、科目(Subject)- 外键:学号(ID)参考学生信息表2.3 教师信息表(Teacher)- 字段:工号(ID)、姓名(Name)、科目(Subject)- 主键:工号(ID)三、数据处理流程3.1 学生成绩录入流程- 学生成绩管理员登录系统后,通过录入成绩功能将学生成绩信息存储到成绩信息表中。
- 系统会进行数据验证,确保输入的学号和科目存在且成绩符合规定范围。
- 成绩信息成功录入后,系统会生成相应的操作日志记录。
3.2 学生成绩查询流程- 学生/教师登录系统后,通过查询成绩功能可以根据学号或者姓名查看学生成绩信息。
- 系统会根据输入的条件在成绩信息表中进行查询,并将查询结果显示给用户。
- 查询结果包括学号、姓名、科目、成绩等信息,方便用户了解学生成绩情况。
3.3 学生成绩统计流程- 教师登录系统后,通过统计功能可以选择不同的统计范围进行成绩统计。
学生成绩查询系统的设计与实现一、概述随着教育信息化的发展,学生成绩查询系统成为学校教务管理的重要组成部分。
它为学生、家长、老师和学校管理者提供了一个方便快捷的途径,可以随时随地查询学生成绩信息,帮助他们更好地了解学生的学习情况,及时发现问题并采取有效措施。
设计与实现一个高效、稳定的学生成绩查询系统显得尤为重要。
二、需求分析1. 学生需求:(1)查询个人成绩:学生需要能够通过系统快速方便地查询到自己的各科成绩,了解自己在班级和学校的成绩排名情况。
(2)成绩趋势分析:学生希望能够通过系统查询到自己历次考试的成绩趋势,并进行分析,以便更好地了解自己的学习情况。
2. 家长需求:(1)关注子女学习情况:家长需要通过系统查询到子女的成绩情况,以便及时发现问题并与老师进行交流。
(2)接收成绩通知:家长希望能够通过系统及时接收到子女的成绩通知,以便及时进行家庭教育。
3. 老师需求:(1)录入和修改成绩:老师需要通过系统进行学生成绩的录入和修改,保证成绩的准确性和及时性。
(2)成绩分析和反馈:老师希望能够通过系统进行学生成绩的分析,及时反馈给学生和家长。
4. 学校管理者需求:(1)统计和分析学校成绩:学校管理者需要通过系统对学校的成绩进行统计和分析,及时发现问题并制定改进措施。
(2)数据备份和安全:学校管理者希望学生成绩数据能够进行有效的备份和安全保护,防止数据丢失和泄露。
三、系统设计基于以上需求分析,我们设计了如下的学生成绩查询系统:1. 系统架构设计:(1)前端架构:采用主流的Web前端技术,如HTML、CSS、JavaScript等,实现多评台支持,并具有良好的用户交互体验。
(2)后端架构:采用B/S架构,利用Java、PHP等语言编写服务端程序,实现用户请求的处理和数据库交互等功能。
2. 数据库设计:(1)学生信息表:存储学生的个人基本信息,如学号、尊称、班级等。
(2)成绩信息表:存储学生的各科成绩信息,包括学号、科目、成绩等字段。
高校学生成绩管理系统的设计与实现随着高校规模的扩大和学生数量的增加,高校学生成绩管理已经成为一项繁琐但必不可少的工作。
为了解决学校学生成绩管理的问题,设计和实现一个高校学生成绩管理系统就显得尤为重要。
本文将探讨该系统的设计思路、功能需求以及实现方案。
一、设计思路1. 需求分析首先,我们需要进行需求分析,明确高校学生成绩管理系统的功能需求。
这包括学生成绩录入、成绩查询、成绩统计与分析、成绩报表生成等基本功能。
另外,还应该考虑系统的安全性,确保学生成绩的信息不会被盗取或篡改。
2. 数据库设计设计一个适合高校学生成绩管理的数据库非常关键。
我们需要建立一个包含学生信息、课程信息和成绩信息的数据库。
学生信息包括学号、姓名、性别等;课程信息包括课程编号、课程名称、教师等;成绩信息包括学生学号、课程编号、成绩等。
3. 界面设计界面设计应简洁、直观,方便用户操作。
我们可以采用图形界面设计,使用户可以通过鼠标点击进行操作。
界面应包括学生成绩录入界面、成绩查询界面、统计与分析界面、报表生成界面等。
4. 功能模块设计我们可以将高校学生成绩管理系统分为以下几个功能模块:- 学生成绩录入模块:教师可以通过该模块录入学生的成绩,并将成绩信息存入数据库。
- 成绩查询模块:学生和教师可以通过该模块查询学生的成绩。
- 成绩统计与分析模块:该模块可以对成绩进行统计和分析,例如计算课程的平均成绩、最高成绩、最低成绩等,并生成相应的报表。
- 成绩报表生成模块:该模块可以根据用户的需求生成成绩报表,包括班级成绩排名、个人成绩单等。
二、功能需求基于以上的设计思路,我们可以进一步详细描述高校学生成绩管理系统的功能需求:1. 学生成绩录入:教师通过界面输入学生的学号、姓名和课程成绩,系统将信息存入数据库,并自动生成学生的学号。
2. 成绩查询:学生和教师可以通过输入学号或姓名查询学生的成绩,系统将显示出相应的成绩信息。
3. 成绩统计与分析:系统可以根据输入的课程编号进行统计和分析,生成课程的平均成绩、最高成绩、最低成绩等,并可以按照成绩进行排序。
c语言课程设计学生成绩管理系统报告一、教学目标本课程旨在通过C语言编程实现一个学生成绩管理系统,让学生掌握C语言的基本语法、数据结构、函数、文件操作等知识,培养学生编写程序解决实际问题的能力。
具体目标如下:1.知识目标:(1)掌握C语言的基本语法和编程技巧;(2)了解数据结构的基本概念,学会使用数组、链表等数据结构;(3)熟悉函数的定义和调用,掌握函数的参数传递和返回值;(4)掌握文件操作,了解文件读写的原理和方法。
2.技能目标:(1)能够独立编写C语言程序,解决实际问题;(2)具备良好的编程习惯,代码结构清晰、可读性强;(3)掌握调试和优化程序的方法,提高程序的运行效率;(4)学会使用版本控制系统,如Git,进行代码管理和协作开发。
3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习C语言的积极性;(2)培养学生团队协作精神,提高沟通与协作能力;(3)培养学生的问题解决能力,培养创新意识和持续学习的态度;(4)培养学生具有良好的职业道德,遵守编程规范,尊重他人代码。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、文件操作等。
具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、表达式、控制语句等基本概念;2.数据结构:讲解数组、链表、栈和队列等数据结构的基本原理和应用;3.函数:讲解函数的定义、声明、调用,以及函数的参数传递和返回值;4.文件操作:介绍文件的概念、文件读写的方法和技巧。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数和文件操作等知识,使学生掌握课程的基本概念和编程技巧;2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题解决;3.实验法:安排上机实验,让学生动手编写程序,培养实际编程能力;4.小组讨论法:学生进行小组讨论,培养团队协作和沟通能力。
学生选课及成绩管理系统的设计与实现学生选课及成绩管理系统是一种基于网络的信息管理系统,它可以帮助学校管理相关学生信息,如选课、成绩、课程安排等。
在这篇文章中,我们将分步骤阐述这种系统的设计与实现。
一、需求分析在设计这个系统之前,我们需要对其需求进行详细分析和规划。
这包括收集相关数据,如学生个人信息、课程信息、教师信息以及学生成绩等,了解系统的功能和流程,并确定系统的安全性要求以及数据的备份和恢复方案。
二、系统设计在完成需求分析之后,我们需要开始系统的设计。
这个过程包括开发系统模块、设计数据库和界面等。
系统模块可以分为学生信息管理模块、课程管理模块、教师管理模块、选课管理模块和成绩管理模块。
接下来,我们需要根据这些模块设计对应的数据库和界面,确保系统的可维护性和易用性。
三、系统实现系统设计完成后,我们需要开始系统的实现,这个过程包括编写代码、测试和修复程序漏洞等。
在编写代码时,我们需要根据系统设计来逐步开发每个模块,不断测试并修复程序漏洞,以确保系统的稳定性和安全性。
四、系统部署系统实现完成后,我们需要将其部署到服务器上,供学校和学生使用。
首先,我们需要将数据库和程序文件上传到服务器上,然后根据预定的协议进行系统的配置和部署。
最后,我们需要在学校或学生端上预安装相关的软件或浏览器才能够正常使用该系统。
五、系统测试与维护系统部署完成后,我们需要进行系统测试,包括单元测试、集成测试、系统测试和验收测试等。
通过测试后,我们需要对系统进行日常维护,包括定期备份数据、检查系统漏洞和升级程序等,确保系统的安全性和稳定性。
总之,学生选课及成绩管理系统的设计与实现是一个复杂而严谨的过程,需要开发人员具备扎实的编程技能和业务知识,同时也需要具备独立思考和解决问题的能力。
只有在所有的工作都正确执行的情况下,才能设计和实现出一套完整、高效、稳定和安全的系统。
一、概述Python成绩管理系统是一种用Python语言开发的学生成绩管理软件,能够实现学生信息录入、成绩管理、生成成绩单等功能。
在教育管理领域,成绩管理系统的应用已经越来越广泛。
本文将对Python成绩管理系统进行总结,包括系统功能、优缺点、应用前景等方面。
二、功能介绍1. 学生信息录入:系统可以方便快速地录入学生的个人信息,包括学号、尊称、性莂、芳龄等。
2. 成绩管理:可以记录学生的各科成绩,计算平均分、排名等统计数据。
3. 成绩分析:可以对学生成绩进行分析,并生成成绩单或成绩报告。
4. 数据查询:可以方便地查询学生的个人信息和成绩情况。
三、优点总结1. 灵活性:Python成绩管理系统采用Python语言开发,具有良好的灵活性和可扩展性,可以根据实际需求进行定制开发。
2. 易用性:系统界面友好,操作简单易懂,老师和管理员可以快速上手使用。
3. 数据安全:系统采用了安全的数据存储机制,可以保证学生信息和成绩的安全性。
四、缺点分析1. 功能局限:目前的Python成绩管理系统功能相对简单,对于复杂的成绩管理需求可能无法完全满足。
2. 可定制性不足:由于系统的设计和开发技术局限,定制开发和功能扩展方面的限制比较大。
五、应用前景1. 教育领域:Python成绩管理系统可以广泛应用于学校、培训机构等教育单位,方便教师和管理人员管理学生的成绩信息。
2. 个性化定制:针对不同单位和个人的需求,可以结合Python语言的灵活性,进行个性化定制开发,满足更多成绩管理需求。
六、总结Python成绩管理系统作为一种成绩管理工具,具有一定的优势和应用前景。
随着Python语言的不断发展和成熟,相信Python成绩管理系统将会得到更广泛的应用和发展。
也需要不断改进和完善系统功能,提高系统的灵活性和可定制性,以满足教育管理的不断变化和需求。
七、参考文献- 作者1, 文章题目1, 期刊名, 出版年份- 作者2, 文章题目2, 会议名, 出版年份以上是对Python成绩管理系统的总结,希望对读者有所帮助。
学生成绩管理系统的可行性分析报告一、系统简述(一)系统建立的背景随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。
网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。
建立一个学生成绩管理系统,传统的手工方式,使得数据容易丢失,在统计时易发生错误高,速度慢,而用计算机可以提高工作速度以及数据的准确性,便于管理。
在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,学生成绩管理系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,为老师节省很多时间跟精力,提高老师的工作效率,通过学生成绩管理系统给学校管理者减轻工作的负担,将工作的失误几率降到最低,为广大老师同学带来便利,使大家能够更好的投入到学习中。
同时这个系统还可以减少人力与管理费用,提供信息准确度更高,更简便的学生信息管理系统。
对人力资源进行大量的浪费,而且安全性不是很高。
处理时间赶不上需要,响应时间较长,数据存储能力不足,处理功能不够,该系统在最初的开发研究中就出现了很多不足,引发的以上的局限性已并非可以用简单维护来解决,这样只会增加经济负担和人员浪费,所以需建立一个比较完善的学生成绩管理系统。
该系统的功能能够实现学生成绩信息的管理和查询,比如学生基本信息查询,基本信息要包括姓名、学号、班级、任何一门课的平时成绩、期末成绩、综合成绩等;同时还可以对以上信息进行修改、删除和添加,另外该系统应该能做到可以对学生成绩信息以及成绩信息查询和修改的效率尽可能做到精确,同时各项功能的操作要简单,不需过多的对人员的培训。
目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
学生成绩管理分析系统设计报告 本次作业的任务是设计一个学生成绩管理分析系统,通过此次设计任务达到基本掌握面向过程程序设计的基本思路和方法,熟练使用C语言的知识和技能来解决简单的程序设计问题。
一、 需求分析 1. 功能需求 为了实现学生成绩的管理与分析,需要输入学生的基本信息和学习信息,要保证信息的准确性,需要提供包含添加、删除等修改功能,在此基础上,提供统计与分析手段。因此,通过对需求的分析,本程序设计的功能需求如下: a) 信息输入 b) 信息显示 c) 信息修改 d) 信息分析 2. 系统需求 根据任务要求,实现学生成绩的管理与分析需要使用标准C语言进行编程;由于本程序满足任务要求的功能需求计算简单,信息的显示均为文本类型,且无通讯方面的需求,因此占用计算机的资源较少。 本程序的数据量大小取决于管理学生数量的多少,根据中国各高校情况分析,在校学生少则数百人,多则数万人,而每一名学生记录仅需要数十字节,因此数据的存取量需求最大不会超过10GB。 综上所述,本程序对系统的需求,目前一台普通计算机即可满足使用。 本程序设计拟采用VC 编制,在Windows 2000操作系统下开发实现。 二、 总体设计 本程序设计采用模块化设计,每一个模块实现一项功能。 按照不同的功能对学生成绩管理分析系统进行模块划分,其总体设计如下: 数据录入模块。每个学生的基本信息和成绩用一个结构体来表示,称为一条记录,可以增加或者删除记录。为简化问题,能对学生的总成绩进行排序,这里约定相同 系别的学生所选科目的数量一致,不同系别的学生所选科目可以不同。 数据查询模块。对已经录入的学生基本信息和成绩进行查询,可以查询单个学生的基本信息和成绩,比如通过学号、姓名等关键字查询,也可以查询某类数据,比如通过系别关键字查询该系所有学生的资料、通过科目名称查询参加该科考试的所有学生的成绩。 数据修改模块。对学生基本信息或成绩进行修改,并保存记录。 数据分析模块。包括对每系或每班的单科成绩的分析,如求平均成绩、及格率、优秀率等;对选修某科的所有学生成绩进行分析,包括求平均分、最高分、最低分等;对同一学期每个班的学生总成绩进行排序。 数据保存模块。将录入的学生基本信息和成绩以及修改后的数据记录以二进制文件的形式保存在磁盘指定位置。 数据显示模块。将查询结果或者修改后的记录显示在屏幕上。
三、 详细设计 程序开始运行后,首先要显示主菜单,由用户选择相应的操作。用数字来代表不同的操作,其对应关系如下表所示:
操作命令 对应数字 输入记录 1 删除记录 2 查询记录 3 修改记录 4 插入记录 5 数据分析 6 数据排序 7 数据保存 8 数据显示 9 退出程序 0 1. 输入记录 首先提示输入学号,输入后以回车符作为输入结束符;然后依次提示输入姓名,系别, 班级,各科成绩等,每次输入均以回车符作为输入结束符。输入完一条完整的记录后,重复以上步骤;当所有记录输入完成,按“0”键退出输入记录,显示主菜单。 2. 删除记录 首先将所有数据记录显示出来,然后提示用户选择需要删除的记录,“1”表示通过学号删除相应记录,“2”表示通过姓名删除相应记录。删除完成后提示删除成功,然后显示主菜单。 3. 查询记录 首先提示输入相应的关键字查询方式,“1”表示通过学号查询,“2”表示通过姓名查询,“3”表示通过系别查询,把该系所有学生记录查询出来,“4”表示通过班级查询,把该班所有学生记录查出来。然后输入需要查询记录的关键字,把相应的记录显示出来,然后显示主菜单。 4. 修改记录 首先将所有记录显示出来,输入需要修改的记录的学号,然后按照输入记录的操作录入修改后的数据,每次输入均以回车符作为结束符。输入完成后将修改后的数据记录显示出来,然后显示主菜单。 5. 插入记录 当需要插入新的记录时,首先将所有记录显示出来,提示用户输入需要插入记录的位置,然后按照输入记录的操作录入一条新的记录,完成后将记录表显示出来,然后显示主菜单。 6. 分析 首先将记录表显示出来,按回车键后显示统计分析结果,包括每科不及格人数,平均成绩,最高分,最低分等信息。 7. 排序 首先将记录表显示出来,按回车键后按照总分名次从高到低的顺序进行排序显示,然后显示主菜单。 8. 保存 将全部数据记录以二进制文件的形式保存在指定的磁盘位置,然后显示主菜单。 9. 显示 将记录表显示出来,然后显示主菜单。 0. 退出 退出前如果数据记录有修改则询问是否保存数据记录到文件,然后退出程序。
四、 程序编制 按照以上详细设计的思路进行程序设计,每个功能设计成一个子程序。各模块的程序流程如下:
开始
显示主菜单和提示信息
读文件到链表
用户输入退出?相应操作数据记录有改动?退出保存NY保存?NY
Y
N
图1 主程序流程 清屏显示已有信息将指针移至表尾用户输入学号输入“0”?已存在的学号?输入一条完整记录将指针移至表尾显示主界面是否重新输入?
YNY
NY
N
图2 输入记录流程 链表为空?输入提示信息
显示“没有记录”用户输入输入合法?错误处理按相应关键字删除记录
将相应节点从链表中删除
显示删除成功信息
YN
YN
主菜单 图3 删除记录流程 链表为空?显示提示信息
显示“没有记录”用户输入输入合法?错误处理按相应关键字查询显示查询结果
YN
NY
主菜单 图4 查询记录流程 链表为空?显示全部数据记录
显示“没有记录”用户输入需修改的记录学号记录存在?输入整条修改后的记录
显示修改成功并显示全部数据记录
主菜单
YN
NY
图5 修改记录流程 显示全部数据记录显示输入提示信息用户输入插入记录的位置
输入学号是否存在?继续?
输入整条记录显示全部数据记录主菜单
NY
Y
N
图6 插入记录流程 链表为空?显示全部数据记录显示“没有记录”计算每科不及格人数
找出每科最高分找出总分最高分显示统计结果主菜单
YN
图7 数据分析流程 链表为空?
显示排序前所有数据记录显示“没有记录”
按总分进行排序显示排序后所有数据记录
主菜单
YN
图8 数据排序流程 打开数据保存文件打开失败?写一条记录到文件记录结尾?关闭文件主菜单
提示信息:打开失败
YN
NY
图9 数据保存流程 五.源代码 #include #include #include #define MAXN 100 //一个班最多的人数 #define MAXM 2 //成绩的课程门数 int R; void input(); //1.学生成绩新建 void sort(); //2.学生成绩插入 void load(); //3.学生成绩修改 void print(); //4.学生成绩删除 void total(); //5.学生成绩统计 void search(); //6.学生成绩查询 void save(); //7.学生成绩保存 void end(); //8.结束 struct student { char name[20]; //保存全班姓名 char num[12]; //保存全班学号 char man[20]; //保存全班性别 float score[MAXM]; //保存全班所有课程成绩 float sum; //保存全班每个人的总成绩 float avg; //保存每个人的平均成绩 }; struct student s[MAXN]; struct http { char subject[20]; //保存全班所有课程 }; struct http c[MAXM]; void main() //欢迎首界面 { int select,l;
system("color fC"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf(" ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n");
printf(" * *\n");
printf(" * *\n");
printf(" * 欢迎进入终极一班学生管理系统 *\n");