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

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

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

1、课 程 设 计课程名称_数据构造根底_ _ 题目名称_ 学生成绩管理系统 学生学院_ 管理学院_专业班级_学 号_ 学生*_ 指导教师_ _目 录1 系统分析11.1系统性能分析11.2 系统功能需求分析11.3 数据分析12 系统设计22.1 总体设计22.2 详细设计32.2.1 界面设计32.2.2 各功能模块的设计32.2.2 系统编码设计83.1 预处理命令及构造体类型的声明83.2 main函数83.3 程序代码95 总结37z1 系统分析1.1系统性能分析1、操作界面美观、友好,有必要的容错处理如:能判定*位数和只能由09数字字符组成、能判定合理的成绩0100等;2、查询应根据查

2、询条件合理选择先进的查询方法3、排序算法要求采用堆排序实现;4、分数段统计结果要求保存在单独的文件中;1.2 系统功能需求分析本系统应具有以下功能:1、提供身份验证,和使用系统的权限设置、判定。2、教师用户能实现本班同学各学期各科成绩的录入、编辑,数据必须保存在文件中,以便反复使用。3、学生用户提供对*或*,各学科成绩的查询。4、学生和教师用户能按各学期、各学科分数排序输出(每一科都要能排序输出)。5、教师用户能统计各科成绩分数段的分布60以下、6070、7080、8090、90100情况,并输出。1.3 数据分析1.3.1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问

3、题要求做什么.而不是怎么做.限制条件是什么. 1.3.2.逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据构造为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据构造的描述和每个根本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;1.3.3.详细设计:定义相应的存储构造并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统构造清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,根本操作的规格说明尽可能明确具体。详细设计的结果是对数据构造和根本操作作出进一步的求精,写出数据存储构

4、造的类型定义,写出函数形式的算法框架;.程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时参加一些注解和断言,使程序中逻辑概念清楚;1.3.5.程序调试与测试:采用自底向上,分模块进展,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;2 系统设计2.1 总体设计按系统分析的功能要求将系统划分为以下几个主要功能模块:1-学生记录录入2-学生成绩查询:按*查询、按*查询3-删除记录4-排序5-修改数据6-显示全部学生记录7-统计8-更换用户9-保存记录0-退出系

5、统2.2 详细设计2.2.1 界面设计1、菜单设计菜单主要有学生成绩录入、成绩查询、成绩排序、更换用户设计时主要采用switch-case这个构造,从而选择调用相应的函数。子菜单也是利用这个原理方法设计的2、信息显示界面的设计信息显示主要用了for(;)循环,输出信息,并设置好输出格式,运行时如下:2.2.2 各功能模块的设计主函数主要作用是控制调用其它函数协调工作。其流程图如下:查询窗口排序窗口按总分排序修改窗口删除窗口统计窗口 统计结果2.2.2 系统编码设计3.1 预处理命令及构造体类型的声明*includestdio.h*includestdlib.h*includestring.h*

6、includewindows.h*define M 1003.2 main函数void main()wele();IO_ReadInfo();Login();3.3 程序代码*includestdio.h*includestdlib.h*includestring.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;/*/fl

7、oat sum(Stud stud) int j; float sum=0; for(j=0;j5;j+) sum+=stud.Scorej; return sum;/*/int Student_SearchByInde*(char id) int i; for (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) retu

8、rn 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 TRUE; break; if(i=num)return FALSE;/*/void Student_DisplaySingle(int inde*) printf(n*学生成绩单*n); printf(tt*:t*:,studinde*.StudName,studinde*.StuID); printf(ntt计算机操作系统:,(&stu

9、dinde*)-Score0); printf(ntt大学英语 :,(&studinde*)-Score1); printf(ntt根底会计 :,(&studinde*)-Score2); printf(ntt数据构造 :,(&studinde*)-Score3); printf(nttJava语言设计:,(&studinde*)-Score4); printf(ntt总 分:,(&studinde*)-Sum); printf(ntt平均分:nnn,(&studinde*)-Av);/*/void Student_Display() int i;printf(n%-4s%st %-8s%-1

10、0s%-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);while(1) printf(请输入*:); scanf(%s,&studnum.StuID); while(ConflictID(stud,num,studnum.StuID) getchar(); printf(*已经存在2n请重新输入*: ); scanf(%s,&studnum.StuID); getchar();printf(请输入学生*:); scanf(%s,&studnum.StudName);getchar(); printf(请输入计算机操作系统成绩: );scanf(%f,&studnum.Score0);while(studnum.Score0100|studnum.Score0

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

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

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