《数据结构》实验报告--------------学生成绩分析系统学校 南京大学院系 工程管理学院专业 管理科学与工程类年级 2010级课题 学生成绩分析系统指导老师 朱美琳小组成员信息姓名学号叶皓恺101279055殷承来101279056于婴朴101279058周道航101279062 摘要一需求分析 3二概要设计 4一算法设计 4二存储结构设计 5三详细设计 5四调试分析 18一调试结果 18二时间复杂度分析 24三程序中存在问题以及可能改进的地方 24五总结 25一需求分析本成绩分析管理系统可以实现以下主要功能::建立学生档案文件(包括姓名,学号,班级,课程编号,成绩):添加:增加新学生修改:学生信息的改变删除::: 输入“1” 输入“2” 输入“3” 输入“4”(密码)形式验证管理员身份(可输入三次密码),合法者进入,否则程序结束。算法实现可以使用break和continue语句,使用一个变量计数;(1)建立学生成绩表 voidestablish(void); //建立学生成绩表函数建立新的学生纪录(包括姓名,学号,班级,课程编号,成绩)(暂定为2个班级,2门课程,学生个数每班10人左右)算法实现可以使用fp头文件指针,将指定的记录写入相应的文本文件中;(2)添加学生纪录 voidadd(void); //添加学生纪录函数在已存在的学生成绩文件中添加新纪录算法实现同样利用文件操作将新添加的记录追加到文件的尾部即可;(3)删除学生纪录 voiddeleteinfo(void); //删除学生记录函数在学生成绩文件中删除2个课程没有成绩的学生纪录删除前,逐条显示符合删除条件的学生姓名,成绩,确认后再删除算法实现先在文件中将记录读出,再寻找删除项,最后将其重新写入文本文件中;(4)修改学生信息 voidmodify(void); //修改学生记录函数输入学生学号,在学生成绩文件中找出该学生纪录在屏幕上逐条显示该学生的各条纪录每显示一条,询问是否修改,如果“1",输入修改后的数据,文件原记录删除,保存新的记录算法实现与删除学生记录相似就是将原文件内容读出,后根据条件修改内容,最后再重新写入文件中;判断是否修改时,利用if循环就可以了;(5)按姓名和班级查找输入姓名,显示该学生所有信息voidsearchname(void); //按姓名查找学生记录函数输入班级,显示所有学生信息 voidsearchclass(void); //按班级查找学生记录函数算法实现先将文本内容读出,利用条件查找相应的记录,再将相应的记录输出(6)信息统计 voidtongji(void); //统计学生成绩信息函数同时按照班级和课程统计每门课程,每个课程每个班级的平均成绩,最高分,最低分在屏幕上先依次显示各门课程,对应的各个班级的统计数据。算法实现利用文件操作将学生成绩表中内容读出,然后利用循环语句将对应的统计项找到,输出结果(7)退出信息管理系统,返回操作系统利用switchcase语句二存储结构设计因为每个学生纪录包括姓名,学号,班级,课程编号,成绩,所以要使用结构变量,同时考虑到处理数据的数量,我们采用结构数组来完成程序的实现,具体定义如下;structstudent{charname[20]; //学生的姓名longn; //学生的学号charclassnum[10]; //学生的班级charcoursenum[2][10]; //学生的所有课程编号intgrade[2]; //学生的各科的成绩}STU[maxsize]; //最大数据容量常数maxsize三详细设计C语言源代码如下:/*-----------------------------头文件定义-------------------------*/#include <>#include <>#include <>#include <>/*------------------------------------------------------------
数据结构大作业实验报告 来自淘豆网www.taodocs.com转载请标明出处.