数据结构程序论文文档.docx
- 文档编号:144657
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:45
- 大小:1.31MB
数据结构程序论文文档.docx
《数据结构程序论文文档.docx》由会员分享,可在线阅读,更多相关《数据结构程序论文文档.docx(45页珍藏版)》请在冰豆网上搜索。
学年论文
(数据结构 2014-2015 第二学期)
题 目:
数据结构程序论文 作 者:
所在学院:
专业年级:
指导教师:
职 称:
2015年05月20日
目录
1.基本信息 3
2.课程目的和要求 3
2.1课程设计目的 3
2.2课程设计要求和设计 3
3.需求分析和概要设计 3
3.1学籍信息管理 3
3.2链表应用 4
3.3图的部分算法 4
3.4学生成绩管理系统 4
4.流程图 5
4.1学籍信息管理 5
4.2链表应用 5
4.3图的部分算法 6
4.4学生成绩管理系统 6
5.运行结果 8
5.1学籍信息管理 8
5.2链表应用 10
5.3图的部分算法 12
5.4学生成绩管理系统 13
6.总结 20
7.用户使用说明 20
8.附录(源代码) 21
8.1学生学籍管理系统源代码 21
8.2链式存储的应用-多项式相加源代码 29
8.3图的部分算法源代码 34
8.4学生成绩管理源代码 37
信息科学与工程学院学生“数据结构课程设计”大作业
学生
学号
班级
课程名
任课教师
学期
得分
苏晓娜
201414017
16
计算机
14-5班
数据结构课程设计
崔青
2014-
2015
(2)
1.基本信息
2.课程目的和要求
2.1课程设计目的
综合应用数据结构课程中所学的数据结构:
线性表、栈、队列、数组与稀疏矩阵、树、二叉树、图、检索中的一种或多种数据结构完成一个较大问题的求解
(其实这里的问题也并不太大,所用的数据结构可能是其中的多个,也可能是其中的一个两个)。
从而培养学生综合应用基本数据结构分析、解决实际问题的能力,并进一步加深对所学知识的理解和掌握。
学生成绩管理系统功能的信息量大,数据安全性和保密性要求最高。
本功能实现对专业信息、学生信息、情况信息的管理和统计、课程信息和成绩信息查看及维护。
2.2课程设计要求和设计
1、严格按要求使用计算机等相关实验设备。
2、通过实验提高动手操作能力。
3、通过实验学会用专业知识分析问题、解决问题的基本方法和步骤。
4、能够用理论指导实践。
5、通过实验加深对理论知识的理解。
6、能够掌握一定软件开发技术,具备一定的软件开发能力。
3.需求分析和概要设计
3.1学籍信息管理
需求分析:
综合考察数据存储、以及对各种存储结构的建立、插入、删除、排序、查找等操作。
概要设计:
(1)数据录入功能:
录入每个学生的学号、课程编号、课程名称、
学分、平时成绩、实验成绩、卷面成绩共7个数据。
实得成绩、实得学分根据
条件自动运算。
综合成绩的计算:
a.如果本课程的实验成绩为-1,则表无实验成绩,综合成绩=平时成绩*30%+卷面成绩*70%
b.如果实验成绩不为-1,表示本课程有实验成绩,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70%
实得学分的计算:
采用等级学分制。
综合成绩在90~100之间,应得学分=学分*100%
综合成绩在80~90之间,应得学分=学分*80%
综合成绩在70~80之间,应得学分=学分*75%综合成绩在60~70之间,应得学分=学分*60%综合成绩在60分以下,应得学分=学分*0%
查询功能:
分为学生基本情况查询和成绩查询两种
(2)删除功能:
根据输入的学生姓名或学好删除相应的学生信息。
(3)排序功能:
能实现选择按综合成绩或实得学分升序或降序排序并显示数据。
3.2链表应用
试设计一元多项式相加(链式存储)的加法运算。
A(X)=7+3X+9X8+5X9B(X)=8X+22X7-9X8
1.建立一元多项式;
2.输出相应的一元多项式;
3.相加操作的实现。
3.3图的部分算法
实现以下两个算法:
(1)深度和广度优先搜索遍历图;
(2)拓扑排序算法;
3.4学生成绩管理系统
需求分析:
用数据结构知识编程一个成绩管理系统。
学生成绩的查询和修改提供的学号、姓名完成学生成绩的查询,或者插入,删
除学生的信息。
能根据输入的学号查找学生,进行信息的修改。
能根据输入的学号从结构体数组中学生的记录。
实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。
能在屏幕上以列表的方式输出所有学生的信息。
概要设计:
系统的主要功能系统的主要功能是实现基本的学生成绩的管理和维
护。
主要包括:
(1)学生信息及成绩的录入
要求包括的学生信息有:
学号、姓名、性别、出生日期、民族及数据结构成绩
(具体内容可自行假设,至少录入10名以上学生)
所录入的学生按学号散列存储(散列函数为:
学号%5取整,如1002%5=2),采用拉链法解决冲突。
(2)学生成绩的查询
要求根据提供的学号完成学生成绩的查询(必须采用哈希查找)
(3)学生成绩的分段统计和排序输出
统计出各分数段学生人数(60分以下,60~70,71~80,...)采用任何一种排序方法,将学生成绩从高到低排序输出
4.流程图
4.1学籍信息管理
登录界面
学籍管理系统
退出系统
显示信息
删除信息
修改信息
查询信息
添加信息
4.2链表应用
图4.1学籍信息管理的流程图
开始
结束
合并连接好的多项式的同类
连接两个多项式
复制两个多项式
4.2链表多项式相加流程图
4.3图的部分算法
图4.3图的部分算法的流程图
4.4学生成绩管理系统
图4.4.1学生成绩管理的流程图
图4.4.2学生成绩统计排序
图4.4.3查询学生数据
图4.4.4学生成绩管理系统函数即实现功能
5.运行结果
5.1学籍信息管理
5.2链表应用
5.3图的部分算法
图4.3的运行结果
5.4学生成绩管理系统
图4.3的运行结果
6.总结
做了几个星期的数据结构程序设计终于做完了,在这次小学期程序设计课
中不仅让我对一学期的知识内容有了一个总结性的了解,更让我在本次的程序设计过程当中学到了很多东西,比如小组合作,与同学讨论,报告的整理,和对程序编写的新的认识。
在本次小组合作完成设计过程中,我和马涛,孟冬芹三人一组,我们通过选题、设计程序、资料查询、同学讨论、不断地调试和修改代码,共同完成了设计课题。
首先我们在选题上根据个人特长和程序使用性选了4个题目,马涛主要负责学籍信息管理,我主要负责学生成绩管理系统,孟冬主要芹负责链表应用和图的部分算法。
在这次程序设计完成的过程中,我们都不同程度的提高了对数据结构知识掌握和运用。
由于我对上学期的C语言跟这学期的数据结构都掌握的不够清楚,对于书上的难点的知识也只是稍微懂一些,所以在做课题的时候查了C语言和数据结构的一些资料,通过看书发现原来懂的东西现在看下就很容易记起来,那些不太懂的和不懂的现在看看其实也不是那么难了。
通过这次的程序设计,发现一个程序设计就是算法与数据结构的结合体,自己也对程序产生了很大的兴趣,原来生活中一些常见的应用是这么实现的,其实设计一个程序不难,难的是对于一个程序思想的理解,要掌握一个算法,不仅仅限于读懂,主要的是要理解它的思路,理解它解决问题的方法。
所以通过这次试验中,我发现书本上的知识是一个基础,但是我基础都没掌握,更别说写出一个整整的程序了。
自己在写程序的时候,也发现自己的知识太少了,特别是基础知识很多都是模模糊糊的一个概念,没有落实到真正的程序。
以后要多练习多编辑运行程序。
这次小组合作完成作业中,提高了对数据结构知识的掌握运用和小组合作的能力,非常感谢崔老师的指导,和我的两个小伙伴及班里同学的帮助。
7.用户使用说明
1.学生信息管理系统
本程序在c++6.0环境下运行通过。
运行后,根据提示输入数据即可。
综合考察数据存储、以及对各种存储结构的建立、插入、删除、排序、查找等操作。
学生成绩的查询和修改提供的学号、姓名完成学生成绩的查询,或者插入,删除学生的信息。
2.链表应用
本程序在c++6.0环境下运行通过。
运行后,根据提示输入数据即可。
3.图的部分算法
本程序在c++6.0环境下运行通过。
运行后,根据提示输入数据即可。
先进行图的拓扑排序,最后输出的是深度和广度优先遍历后的结果。
4.学生成绩管理系统
本程序在c++6.0环境下运行通过。
运行后,根据提示输入数据即可。
可以进行学生成绩信息的录入,导入,查询,删除,显示,统计,保存,排序。
可以很方便的对学生信息进行加工处理。
8.附录(源代码)
8.1学生学籍管理系统源代码
#include
#defineLEN15
#defineN100
//学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分
structrecord/*结构体*/
{charcode[LEN+1];/*学号*/charname[LEN+1];/*姓名*/intage;/*年龄*/
charsex[3];/*性别*/
chartime[LEN+1];/*出生年月*/charadd[30];/*家庭地址*/
chartel[LEN+1];/*电话号码*/charmail[30];/*电子邮件地址*/charCno[LEN+1];/*课程编号*/charCname[LEN+1];/*课程名称*/charCsd[5];/*学分平时成绩*/charCps[10];/*实得学分*/
charCsy[10];/*实验成绩*/charCjm[10];/*卷面成绩*/charCzh[20];/*综合成绩*/
}stu[N];
intk=1,n,m;/*定义全局变量*/
/*函数声明*/
voidseek();voidmodify();voidinsert();voidinsert1();voiddel();
voidmassage();voidmenu();voidcourse();voidlogo();
intmain()
{
{char name[20];intpassword=1;
printf("\n\n 欢迎登录学籍信息管理 \n\n");printf("
******************************************************************************
\n");
printf("*制作人:
苏晓娜 学号:
20141401716 班级:
计算机14-5 指导老师:
崔青 *\n");
printf("
******************************************************************************
\n");
logo();system(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 程序 论文 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)