数据结构--学生成绩管理系统

上传人:枫** 文档编号:563786727 上传时间:2022-10-26 格式:DOC 页数:50 大小:584KB
返回 下载 相关 举报
数据结构--学生成绩管理系统_第1页
第1页 / 共50页
数据结构--学生成绩管理系统_第2页
第2页 / 共50页
数据结构--学生成绩管理系统_第3页
第3页 / 共50页
数据结构--学生成绩管理系统_第4页
第4页 / 共50页
数据结构--学生成绩管理系统_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《数据结构--学生成绩管理系统》由会员分享,可在线阅读,更多相关《数据结构--学生成绩管理系统(50页珍藏版)》请在金锄头文库上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date数据结构-学生成绩管理系统例:成绩管理系统课 程 设 计 课程名称_数据结构基础_ _ 题目名称_ 学生成绩管理系统 学生学院_ 管理学院_专业班级_学 号_ 学生姓名_ 指导教师_ _目 录1 系统分析11.1系统性能分析11.2 系统功能需求分析11.3 数据分析12 系统设计22.1 总体设计22.2 详细设计32.2.1 界面设计32.2.2 各功能模块的设计

2、32.2.2 系统编码设计83.1 预处理命令及结构体类型的声明83.2 main函数83.3 程序代码95 总结37-1 系统分析1.1系统性能分析1、操作界面美观、友好,有必要的容错处理(如:能判定学号位数和只能由09数字字符组成、能判定合理的成绩0100等);2、查询应根据查询条件合理选择先进的查询方法3、排序算法要求采用堆排序实现;4、分数段统计结果要求保存在单独的文件中;1.2 系统功能需求分析本系统应具有以下功能:1、提供身份验证,和使用系统的权限设置、判定。2、(教师用户)能实现本班同学各学期各科成绩的录入、编辑,数据必须保存在文件中,以便反复使用。3、(学生用户)提供对学号或姓

3、名,各学科成绩的查询。4、(学生和教师用户)能按各学期、各学科分数排序输出(每一科都要能排序输出)。5、(教师用户)能统计各科成绩分数段的分布(60以下、6070、7080、8090、90100)情况,并输出。1.3 数据分析1.3.1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么? 1.3.2.逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算

4、法,并画出模块之间的调用关系图;1.3.3.详细设计:定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;1.3.4.程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;1.3.5.程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序

5、来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;2 系统设计2.1 总体设计按系统分析的功能要求将系统划分为以下几个主要功能模块:1-学生记录录入 2-学生成绩查询:按学号查询、按姓名查询3-删除记录4-排序5-修改数据6-显示全部学生记录7-统计8-更换用户9-保存记录0-退出系统2.2 详细设计2.2.1 界面设计1、菜单设计菜单主要有学生成绩录入、成绩查询、成绩排序、更换用户设计时主要采用switch-case这个结构,从而选择调用相应的函数。子菜单也是利用这个原理方法设计的2、信息显示界面的设计信息显示主要用了for(;)循环,输出信息,并设

6、置好输出格式,运行时如下:2.2.2 各功能模块的设计主函数主要作用是控制调用其它函数协调工作。其流程图如下:查询窗口排序窗口 按总分排序修改窗口删除窗口统计窗口 统计结果2.2.2 系统编码设计 3.1 预处理命令及结构体类型的声明#includestdio.h#includestdlib.h#includestring.h#includewindows.h#define M 1003.2 main函数void main()welcome();IO_ReadInfo();Login();3.3 程序代码#includestdio.h#includestdlib.h#includestring

7、.h#includewindows.h#define M 100void Login();/*/ typedef struct stuchar StuID12;char StudName12; float Score5;float Av;float Sum;int tag;Stud;Stud studM;int num=0;/*/float sum(Stud stud) int j; float sum=0; for(j=0;j5;j+) sum+=stud.Scorej; return sum;/*/int Student_SearchByIndex(char id) int i; for

8、(i=0;inum;i+) if (strcmp(studi.StuID,id)=0) return i; return -1; /*/int Student_SearchByName(char name) int i; for (i=0;inum;i+) if (strcmp(studi.StudName,name)=0) return i; return -1; /*/int ConflictID(Stud stud,int n,char ID) int i; for(i=0;inum;i+) if(i!=n) if(strcmp(studi.StuID,ID)=0) return TRU

9、E; break; if(i=num)return FALSE;/*/void Student_DisplaySingle(int index) printf(n*学生成绩单*n); printf(tt姓名:t学号:,studindex.StudName,studindex.StuID); printf(ntt计算机操作系统:,(&studindex)-Score0); printf(ntt大学英语 :,(&studindex)-Score1); printf(ntt基础会计 :,(&studindex)-Score2); printf(ntt数据结构 :,(&studindex)-Score

10、3); printf(nttJava语言设计:,(&studindex)-Score4); printf(ntt总 分:,(&studindex)-Sum); printf(ntt平均分:nnn,(&studindex)-Av);/*/void Student_Display() int i;printf(n%-4s%st %-8s%-10s%-10s%-10s%-10s%-10s%-9sn,编号, 学 号,姓 名,操作系统,大学英语,会计基础,数据结构,Java设计,总分);printf(-n); for(i=0;iStuID,(&studi)-StudName,(&studi)-Score0,(&studi)-Score1,(&studi)-Score2,(&studi)-Score3,(&studi)-Score4,(&studi)-Sum);printf(-n);/*/void Student_Insert() char c;printf(n); printf(nnn

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号