毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc

上传人:b****2 文档编号:14585529 上传时间:2022-10-23 格式:DOC 页数:30 大小:370.67KB
下载 相关 举报
毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc_第1页
第1页 / 共30页
毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc_第2页
第2页 / 共30页
毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc_第3页
第3页 / 共30页
毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc_第4页
第4页 / 共30页
毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc

《毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc(30页珍藏版)》请在冰豆网上搜索。

毕业设计论文:学生成绩管理系统(数据结构)Word格式文档下载.doc

2

完成原理分析

3

设计分析

4

完成代码编写与调试

5

独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度

6

回答问题

20

7

毕业设计报告格式规范性

30

合计

100

总评成绩

注:

总评标准采用优良制:

优秀(90分以上)、良好(80-90)、中等(70-80)、及格(60-70)、不及格(60分以下)

指导教师签字:

毕业设计任务书

一、任务及要求

1.设计(研究)内容和要求

研究内容:

单链表的基本操作,学生成绩管理系统,二叉树的运算

任务和要求:

(1)学习数据结构基础知识,掌握数据结构典型的算法的使用。

(2)对指导教师下达的题目进行任务分析。

(3)根据分析结果完成设计。

(4)编程:

在计算机上实现题目的代码实现。

(5)完成对程序的测试和调试。

(6)提交毕业设计报告(约二十页),含程序代码及运行结果。

2.原始依据

结合数据结构毕业中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。

提高程序设计和调试能力。

学生通过上机实习,验证自己设计的算法的正确性。

学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。

二、工作量

2周(10个工作日)时间。

三、计划安排

第1个工作日-第2个工作日:

查找相关资料、书籍,阅读示例文档,选择题目。

第3个工作日:

题目分析,设计算法。

第4个工作日-5个工作日:

功能模块的划分和设计。

第6个工作日:

实现具体数据结构和模块。

第7个工作日-第8个工作日:

程序设计与调试,编写毕业设计报告。

第9个工作日:

上交毕业设计报告。

第10个工作日:

软件验收、答辩,成绩评定。

                   2011年12月26日

目录

题目一:

单链表的基本操作 1

1需求分析 1

1.1问题描述 1

1.2实现要求 1

2.概要设计 1

2.1逻辑结构设计 1

2.2功能结构设计 2

2.3物理结构设计 2

3算法设计与实现 3

3.1算法设计 3

3.2算法实现与调试 3

题目二:

线性表的应用——学生成绩管理 4

1需求分析 4

1.1问题描述 4

1.2实现要求 4

2.概要设计 4

2.1逻辑结构设计 4

2.2功能结构设计 5

2.3物理结构设计 5

3算法设计与实现 6

3.1算法设计 6

3.2算法实现与调试 7

题目三:

排序问题 8

1需求分析 8

1.1问题描述 8

1.2实现要求 8

2.概要设计 8

2.1逻辑结构设计 8

2.2功能结构设计 8

2.3物理结构设计 9

3算法设计与实现 9

3.1算法设计 9

3.2算法实现与调试 11

总结 13

参考文献 14

附录全部代码 15

题目一 15

题目二 22

题目三 30

单链表的基本操作

1需求分析

1.1问题描述

用学过的方法建立单链表,掌握单链表的建立、插入,查找、删除、逆置等基本算

法和操作。

掌握指针类型的应用和结构体的具体操作,初步掌握采用自底向上,分模块进行的程序的调试与测试。

1.2实现要求

(1)建立单链表

用尾插法建立带头结点的单链表h,从键盘输入各整型数据元素,以“-1”

作为输入结束标志符。

(2)遍历单链表h

依次输出链表中各数据元素。

(3)按序号查找

查找单链表h中第i个元素并输出该元素。

(4)插入

在单链表h的第i个元素位置上插入x数据元素

并遍历单链表h

(5)删除

删除单链表h的第i个数据元素,并返回第i个元素

同时遍历单链表h

(6)求表长

求单链表的表长并输出表长

(7)逆置单链表

逆置带头结点的单链表h,逆置后的单链表利用原表中的结点空间,不重新申请空间,逆置后进行遍历。

(8)将一个元素插入到有序表中使表仍然有序

带头结点的单链表中的数据元素是整型数且有序。

将x插入到顺序表的适当位置上,保持表的有序性,将两个递增的有序表归并成一个递减的有序表,利用原表空间,不能重新申请空间

2.概要设计

2.1逻辑结构设计

逻辑结构:

线性结构

二元组图式

G=(D,S)

D=(q,a,z,w,s,x)

S={r}

R={<

q,a>

<

a,z>

z,w>

w,s>

s,x>

}

2.2功能结构设计

图1功能设计图

本人在该小组中主要负责完成建立和遍历模块的功能实现

2.3物理结构设计

物理结构

(1)链式存储示意图如下:

图2链式存储示意图

(2)c语言描述如下:

#include<

stdio.h>

/*denitionofdatatype*/(

Typedefchardatatype;

typedefstructnode

{datatypedata;

structnode*next;

}linklist;

3算法设计与实现

3.1算法设计

1.用于定义单链表的存储结构的函数LinkList()。

2.用带头结点的尾插法创建链表的函数createList()。

3.用于查找第i位元素的函数get()。

4.用于遍历单链表的函数visit()。

5.用于获得表长的函数lengthList()。

6.用于在第i位元素后插入新元素的函数insert()。

7.用于删除第i位元素的函数delete()。

8.用于逆置单链表的函数reverse()。

9.用于在程序开始输出欢迎和提示信息的函数start()。

10.用于在程序结束时输出提示信息的函数end()。

11.用于调用上述函数的主函数main(),主函数中对各函数的调用次序及方法为:

定义了必要的变量后,先使用system()函数设置操作台背景色;

再调用程序开始时的输出函数start();

然后调用创建单链表的函数createList()并用相应类型的变量接收它返回的头结点地址;

然后询问是否遍历(询问步骤下同),需要的话将刚接收的头结点地址作为参数调用遍历函数visit();

遍历后传递头结点的地址调用查找函数get(),该函数具有判断查找位置合法性的功能;

查找操作结束后传递头结点地址给inser()调用它(插入操作带有判断插入位置是否合法的功能,故还要调用lengthList()获得表长作为插入函数的另一个参数)插入操作完成后将再次调用遍历函数visit()显示插入结果;

结束插入后将头结点地址作为参数调用删除函数delete(),删除成功后将调用遍历函数显示删除后的结果(插入函数也具有判断位置合法性的功能);

最后是调用逆置函数reverse(),同样是以头结点为参数。

3.2算法实现与调试

(1)建立单链表:

123456

图3建立单链表

(2)遍历单链表

图4遍历单链表

线性表的应用——学生成绩管理

编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。

(1)创建成绩链表,学生数据包含学生的学号、姓名和成绩。

(2)可以在指定学号学生前插入学生成绩数据。

(3)可以删除指定学号的学生数据。

(4)可以计算学生的总数。

(5)可以按学号和姓名查找学生。

(6)可以显示所有学生的成绩。

(7)可以把学生成绩按从高到低的顺序排列。

逻辑结构,线性结构

二元组图式如下:

图5二元组图式

开始

菜单选择

排列

连接链表

删除

倒置?

遍历

按号查找

按名查找

成绩

结束

图6功能结构设计图

本人在该小组中主要负责完成排列功能实现

物理结构:

链式存储,c语言描述如下:

#include<

string.h>

malloc.h>

stdlib.h>

typedefstructStudent

{intscore;

charsno[5],sname[8];

}Student;

typedefstructNode

{StudentstudentInfo;

structNode*next;

}LinkList;

1.定义学生数据类型stu。

2.定义结点存储类型LinkList。

3.函数声明部分。

4.学生信息的输入函数input()。

5.用带头结点的尾插法建立单链表来存储学生信息的函数createTailList()。

6.遍历单链表显示出学生数据的函数showList(),此函数由罗聪同学编写。

7.按学号查找学生信息的函数getElem(),此函数由贾利洋同学编写。

8.显示单个学生信息的函数showElem(),此函数由罗聪同学编写。

9.按姓名查找学生信息的函数locateElem(),此函数由贾利洋同学编写。

10.求学生总人数(即表长)的函数lengthList(),此函数由华政同学编写。

11.在指定学号前插入学生数据的函数insertElem(),此函数由孟繁章同学编写。

12.删除指定学号学生信息

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1