数据结构课程设计-学生成绩管理系统

上传人:hs****ma 文档编号:494014465 上传时间:2023-02-25 格式:DOCX 页数:16 大小:1.43MB
返回 下载 相关 举报
数据结构课程设计-学生成绩管理系统_第1页
第1页 / 共16页
数据结构课程设计-学生成绩管理系统_第2页
第2页 / 共16页
数据结构课程设计-学生成绩管理系统_第3页
第3页 / 共16页
数据结构课程设计-学生成绩管理系统_第4页
第4页 / 共16页
数据结构课程设计-学生成绩管理系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

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

1、石家庄经济学院全套设计加扣 3346389411或3012250582课题名称:学生成绩管理系统(数据结构)学号:姓名:I目录目录1.需求分析11.1.开发背景11.2.数据需求11.3.功能需求12.功能介绍13.概要设计13.1.功能概要13.1.1.倒排查找23.2.子程序33.3.主界面截图44.详细设计54.1.数据结构设计54.2.散列文件74.2.1.添加74.2.2.删除74.2.3.查找74.2.4.插入74.3.B+树74.3.1.增加74.3.2.删除74.3.3.查找84.4.倒排表84.5.外部排序85.测试运行85.1.输出85.2.散列查找95.3.外部排序105

2、.4.散列更改115.5.删除学生信息125.6.B+树查找125.7.倒排表136.总结与展望137.参考文献148.使用说明14学生成绩管理系统(数据结构)1. 需求分析1.1. 开发背景学校在实际运营中需要存储大量的学生信息,在电子化之前,我们一般采用在纸上存储学生信息,费时费力,所以,在当今的社会中,我们运用电子计算机的功能来存储学生信息,并对学生信息进行一系列的运算,手工处理已经退出了历史的舞台,如今的社会中,计算机具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长的优点,信息的庞大也是我们利用计算机的超强的运算功能的一个原因、成本低等,但更重要的是够把学生的信息存储起来,

3、方便以后的调用和处理。为了保证学生信息的规范化保存,我们有必要设计一个学生管理系统来统筹我们的学生信息。这就会大大减少学校教务人员的劳动量,提高工作效率,规范工作,推动教学的发展。1.2. 数据需求本程序利用B+树、散列文件存储信息,并进行一系列的增删改查。同时利用倒排表进行分类管理信息,利用外部排序对学号进行排序。本系统包括学生的姓名,学号,出生日期,成绩等。这些信息是等待用户输入的基本信息,或者是保存在文件中的信息,可以直接对文件进行调用,并进行一系列的操作。每次进行操作之后,都会保存在相应的文件中,方便下一次的操作。1.3. 功能需求利用B+树、散列文件对学生信息进行增删改查的操作,利用

4、倒排表对学生信息进行分类整理,利用外部排序对文件的数据进行学号排序。同时,每次操作之后都会保存在文件中,方便下次的操作。2. 功能介绍本“学生成绩管理系统”能够实现的功能包括以下几个方面:对学生信息进行B+树的增删改查,对学生信息进行散列文件的增删改查,利用倒排文件对学生信息进行多关键字查找,利用外部排序对学生文件进行排序。对于每一项操作,均是在文件中进行的,所以在关闭之后,已经进行的操作没有消失。 3. 概要设计3.1. 功能概要主菜单界面包括全部对学生的增、删、改、查的操作,还包括对文件进行多关键字查找,对文件进行一系列的操作是在B+树以及散列文件中进行的,运行程序首先进入主菜单,在主菜单

5、里,分别列有十二项基本功能,等待用户进一步操作,如图3-1-1所示。其中:倒排表选项有后续功能。重置输出散列查找散列更改删除增加退出外部排序随机生成B+查找直接输出倒排查找主菜单3-1-1一级菜单3.1.1. 倒排查找性别学号语文退出倒排查找可以对语文,性别,查找具体如图3-1-1-1所示。3-1-1-1 二级菜单(查找)3.2. 子程序1. void creat1(stu data);/单独输入文件2. void outs();/输出3. void inputss(BPTree *T);/重新输入4. void menus();/菜单5. void te();/教师记录6. int find

6、s(int *ip,int *key);/学号查找7. int find(int dat,char num,int *i);/关键字查找8. void outfindsl(int a,int ip);/查找9. void output(stu a);/输出10. void change();/更改11. int de(BPTree *T);/删除12. void clean();/清空13. void add();/增加14. void saveout(int max);/记录15. void changedat();/更改student中的记录信息,更新记录16. void cleanbac

7、k();/清空17. void backgoal(int a256);/语文18. void backsex(int a256);/性别19. void backnum(int a256);/学号20. void back(stu student);/学生21. void outback();/输出测试22. void backouts(int t,char name,int a);/测试倒排表中数据23. int outbackfind();/查找到后输出,返回文件中学生记录的个数24. void outbackss(int saveout,int k);25. void telldate(

8、int choice,int a,int b256);/数据检验26. void copyint1(int b,int a,int t);/把a中的前t个数字复制到b中27. void copyint2(int b256,int a256,int t,int every);/把a中的数据复制到b中,其中,每一维度只是复制对应的every个数据28. int compare(int choice1,int choice2,int aa1,int bb1256,int aa2,int bb2256);/二维数组保存数据,一维数组保存对应二维数组中的个数29. int sort();/排序30. v

9、oid sortclassify(int sum,stu student,char name);/个数,学生数组,学生文件名字31. void createlosertree(int ls,stu student);/初始化32. void K_merge(char name20);/k路归并33. void adjust(int ls,int s,stu student);/调整34. void creatb(BPTree *A); /创建树35. result findb(BPTree T,int K); /查找树36. void creatb();/清空树37. int search(B

10、PTree T,int K); /查找分支38. int insertb(BPTree *T,int K,BPTree q,int i,stu student); /总的添加树39. void insert(BPTree q,int i,int x,stu student,BPTree p); /添加数据40. void newroot(BPTree *T,BPTree q1,int x,BPTree p); /新建节点41. int outb(BPTree T); /输出树42. int del_b(BPTree *T,int key1); /删除树43. void adjust0(BPTr

11、ee q , int k); /调整树根44. void adjust1(BPTree q,int k ,BPTree father,int now); /直接删除的调整45. void adjust2(BPTree q,int k,BPTree father,int now,int delstu); /与左边借的调整46. void adjust3(BPTree q,int k,BPTree father,int now,int delstu); /与右边借的调整47. void adjust4(BPTree q,int k,BPTree father,int now,int delstu)

12、; /与左右合并的调整48. void changefather(BPTree q,int now,int key); /查找父亲49. void findb1(BPTree T); /查找树3.3. 主界面截图当运行程序时首先进入主菜单界面,如图3-3-1所示。图3-3-1主菜单4. 详细设计4.1. 数据结构设计本系统运用的是文件保存学生信息的方法,把每一个学生信息保存在文件中,每次对学生信息进行修改,增加,删除等操作时,均是对文件中的记录类型中的数据进行的更改变化。采用了b+树,散列文件,倒排表以及外部归并的方法对文件进行一系列的操作。具体的定义数据结构如下:typedef struct

13、 dint year;int month;int day;dates;typedef struct scfloat chinese;float math;float english;float average;score;typedef struct studentchar num13;char name20;dates birthday; char sex20;score goal; int sum; int age; int key;stu;typedef struct headsint s;heads;/目录typedef struct bksint sum;/这个桶中保存的数据stu

14、a3;/学生信息int t;/下一个桶bks;/散列文件typedef struct BPNode int keynum; /结点中关键字个数 struct BPNode *parent; /指向双亲结点 int key4;/关键字向量,至多m个关键字 int tag;/标记是否是叶子 struct BPNode *ptr4;/非终端结点至多m棵子树 struct /叶子节点信息 stu *student4;/叶子记录指针向量,0号单元未用 struct BPNode *next;/指向下一个叶子结点 struct BPNode *pre;/指向前一个叶子结点 leaf; /叶子结点BPNode,*BPTree;typedef structB

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

当前位置:首页 > 学术论文 > 毕业论文

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