数据结构课程设计题目.docx
- 文档编号:23510618
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:15
- 大小:24.03KB
数据结构课程设计题目.docx
《数据结构课程设计题目.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计题目.docx(15页珍藏版)》请在冰豆网上搜索。
数据结构课程设计题目
1.通讯录信息管理系统
要求:
实现如下基本功能
1、通讯录的建立
2、通讯者的插入
3、通讯者的删除
4、通讯者的查询(多种查询条件)
5、通讯录表的输出
2.飞机订票系统
此系统可以实现如下功能:
录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:
可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:
(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票:
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:
当航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
3.宿舍管理查询软件
1)任务:
为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:
A.采用交互工作方式
B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)
2)查询菜单:
(用二分查找实现以下操作)
A.按姓名查询
B.按学号查询
C.按房号查询
3)输出任一查询结果(可以连续操作)
4.图书借阅管理系统
设计一个计算机管理系统完成图书管理基本业务。
【基本要求】
1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;
2)对书号建立索引表(线性表)以提高查找效率;
3)系统主要功能如下:
*采编入库:
新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
*借阅:
如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
*归还:
注销对借阅者的登记,改变该书的现存量。
5.学生成绩管理
实现功能:
输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。
输入学生的学号、姓名、班级、所学课程和成绩,可以按学号查询可以输出其个人信息,包括学生姓名,班级,所学课程的成绩及排名(排序),增加和删除内容后,可以正确的输出后面信息。
按项目生成学生成绩表、按学生行政班生成成绩表及所有报表的输出
6.活期储蓄帐目管理
活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:
1)能比较迅速地找到储户的帐户,以实现存款、取款记账;
2)能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
7.超市进售货管理系统
某超市每天有进货、售货、统计销售额、计算毛利率、查看商品剩余量等业务,所以人工管理是一件非常繁琐的事情,为了快速有效地管理,该商店提出要编制一个计算机管理软件。
系统功能要求:
(1)创建商品档案。
每一个商品信息包括编号、品名、进价、售价、进货量、销售量、销售额、剩余数、毛利。
(2)编辑商品信息。
向商品档案添加商品、删除原有商品、处理原有商品的新进货量、新销售量、报废量。
(3)统计销售情况。
在此项中统计每种商品的销售额、剩余数、毛利(毛利=销售额-进价×销售量)。
(4)查询商品信息。
如根据品名、剩余数(小于5或大于20)进行查询。
(5)显示商品信息。
显示方式有3种,即按原来商品的顺序显示、按销售额从高到低的顺序显示、按毛利从高到低的顺序显示,由于商品较多,所以要求分屛显示。
(6)最好能有一些其他功能实现
各功能模块都再建立子菜单来完成,主菜单和子菜单能够循环出现,每一个菜单项执行后,询问用户是否继续进行。
从子菜单可以返回主菜单
8.职工信息管理系统
(1)系统以菜单方式工作
(2)职工信息录入功能(职工信息用文件保存)——输入。
(职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复))。
(3)职工信息浏览功能——输出(以一定格式)
(4)查询或排序功能:
(多种查询方式)——按工资查询,按学历查询等等
(5)职工信息删除功能
(6)职工信息修改功能(可考虑工资调整)
9.学生档案管理系统
1)提供简单的操作菜单;
(2)能完成对学生信息的基本操作,包括输入、输出、修改、追加、删除等操作;
(3)使学生的某一项(一般为学号)取值为唯一,添加学生信息时能够及时的给出提示;
(4)多种方式对学生信息进行查询和统计;精确查询和模糊查询。
(5)实现密码检测和管理;
(6)实现学生信息备份
10.汽车销售管理系统
顾客可以很方便的注册成为会员,对汽车进行浏览检索,查看汽车的详细资料,然后根据各人的喜好购买心仪的汽车。
系统会自动为顾客生成订单,按照顾客所填写的信息提交订单并‘发货’。
(保存成文件)
系统管理员则可以对现有的汽车信息进行添加和编辑,审查已注册的用户并对提交的订单进行处理。
11.药品信息管理系统
1.药品信息录入(id,名称、属性、价格、数量、生产日期、有效期、库存量)等等
2.药品信息修改
3.药品信息查询:
按类别查询、按价格查询、按价格区间查询、按生产期限查询等等
4.药品信息删除
5.药品出售,给出报表
12.小区物业管理系统
1.小区业主信息录入:
id、姓名、楼号、房间号、房间面积、证件号、联系方式等等
2.小区业主信息修改
3.小区业主信息删除
4.小区业主信息多种查询
5.物业费管理:
房间面积、每平价格、总价、缴费年度,滞纳金(滞纳时间、比例,计算公式)等等
6.给出报表
13.火车订票系统
录入车票信息:
车次id、车次类型、起始站,途径站、终点站、发时、到时、座位类型、价格,数量等等。
查询:
多种信息查询,查询是否有座
订票:
(订票情况可以存在一个数据文件中,结构自己设定)
如果无票,可以提供相关可选择车次;
退票:
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量
订单要有编号。
修改:
当车次信息改变可以修改数据文件
14.学校新闻发布系统
1.新闻栏目管理:
增加,修改,删除一级,二级新闻文章栏目。
2.新闻文章添加:
按不同栏目添加新闻文章。
(直接屏幕输入添加、文件导入添加)
3.新闻文章删除:
删除旧的文章。
4.管理员管理:
新闻管理系统的管理员设置。
5.新闻关键字查询:
6.新闻查看:
7.查看次数统计:
15.学生选课系统
1.课程基本资料(课程号、课程名、课程简介、上课时间、上课地点、学时、学分、等等)录入、修改、删除。
2.教师基本资料(教师号、姓名、系部、相关资料等等)录入、修改、删除。
3.选修课程资料:
课程号、教师号、授课人数、现选人数等等。
4.学生登录默认即可。
学期基本学分自行录入或者自行规定。
5.可选课程查询。
6.选课:
假设每门课可以有1-3名教师讲授;每名教师可以讲授1-2门课程。
学生选课课时要大于基本学分。
16.约瑟夫环(Joseph)
任务:
编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。
一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。
报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。
设计一个程序来求出出列顺序。
要求:
利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。
测试数据:
m的初值为20,n=7,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么?
输入数据:
建立输入处理输入数据,输入m的初值,n,输入每个人的密码,建立单循环链表。
输出形式:
建立一个输出函数,将正确的输出序列。
17.敢死队问题
问题描述:
有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。
如果前一个战士没完成任务,则要再派一个战士上去。
现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。
如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。
以此类推,直到任务完成为止。
排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。
要求:
有菜单形式,至少采用两种不同的数据结构的方法实现。
如果采用三种以上的方法者,可加分。
18.一元多项式的计算器
(1)建立并输出多项式
设有一元多项式Am(x)和Bn(x).
Am(x)=A0+A1x1+A2x2+A3x3+…+Amxm
Bn(x)=B0+B1x1+B2x2+B3x3+…+Bnxn
(2)两个多项式相加,M(x)=Am(x)+Bn(x),建立并输出和多项式
(3)两个多项式相减,M(x)=Am(x)-Bn(x),建立并输出差多项式
(4)两个多项式相乘,M(x)=Am(x)×Bn(x),建立并输出差多项式
要求:
1)首先判定多项式是否稀疏
2)分别采用顺序和动态存储结构实现;
3)结果多项式M(x)中无重复阶项和无零系数项;
4)要求输出结果的升幂和降幂两种排列情况
19.运动会分数统计
任务:
参加运动会有n个学校,学校编号为1……n。
比赛分成m个男子项目,和w个女子项目。
项目编号为男子1……m,女子m+1……m+w。
不同的项目取前五名或前三名积分;取前五名的积分分别为:
7、5、3、2、1,前三名的积分分别为:
5、3、2;哪些取前五名或前三名由学生自己设定。
(m<=20,n<=20)
功能要求:
1)可以输入各个项目的前三名或前五名的成绩;
2)能统计各学校总分,
3)可以按学校编号或名称、学校总分、男女团体总分排序输出;
4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
5)数据存入文件并能随时查询
6)规定:
输入数据形式和范围:
可以输入学校的名称,运动项目的名称
输出形式:
有中文提示,各学校分数为整形
界面要求:
有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:
学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
20.实时监控报警系统
问题描述:
建立一个报警和出警管理的系统
1。
采用一定存储结构存储报警信息,要求有内容、时间
2.有一次出警就应该在待处理的信息中删除这条信息
3.记录出警信息,以备查询
4.待处理信息过多时会发出警告。
21.客户消费积分管理系统
问题描述:
针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实施不同程度的打折优惠。
1.采用一定存储结构进行客户信息存储。
2.对客户信息可以修改、删除、添加。
3.能够根据消费情况进行客户积分计算。
4.根据积分情况实行不同程度的打折优惠。
22.大数的加法乘法运算
问题描述:
设计一个程序实现两个任意长的整数的加、乘运算。
大多数的编译器只能支持到64位的整数运算,需要专门建立大数运算库来解决这一问题。
最简单的办法是将大数当作字符串进行处理,也就是将大数用10进制字符数组进行表示,然后模拟人们手工进行“竖式计算”的过程编写其加减乘除函数。
能够用其他方法完成可加分。
23.关键字的查找和替换
打开一篇英文文章
1.在该文章中可以找出给定的单词。
2.可以将给定单词替换成另外一个单词,再存盘。
3.可以统计给定单词出现的次数。
4.统计出文章中出现次数最多的3个单词作为该文章的关键字。
24.文章编辑
任务:
输入一页文字,程序可以统计出文字、数字、空格的个数。
功能:
静态存储一页文章,每行最多不超过80个字符,共N行;要求
(1)分别统计出其中英文字母数和空格数及整篇文章总字数;
(2)统计某一字符串在文章中出现的次数,并输出该次数;
(3)删除某一子串,并将后面的字符前移。
(4)存储结构使用线性表,分别用几个子函数实现相应的功能;
输入数据的形式和范围:
可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:
(1)分行输出用户输入的各行字符;
(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"
(3)输出删除某一字符串后的文章;
25.猴子吃桃子问题
有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。
用多种方法实现求出原来这群猴子共摘了多少个桃子。
要求:
1)采用数组数据结构实现上述求解
2)采用链数据结构实现上述求解
3)采用递归实现上述求解
4)如果采用4种方法者,适当加分
26.稀疏矩阵的加、转、乘操作
1.输入稀疏矩阵
2.完成一稀疏矩阵转置
3.完成两个稀疏矩阵相加
4.完成两个稀疏矩阵相乘
4.输出结果稀疏矩阵
要求:
存储结构分别采用2种方法(三元组,十字链表);基本过程的算法可以使用程序流程图、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法。
27.停车场管理系统
问题描述:
设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。
在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。
若停车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。
当停车场内某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。
每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。
设计要求:
1.模拟上述管理过程。
要求以顺序栈模拟停车场,以链队列模拟便道。
2.从终端读入汽车到达或离去的数据,每组数据包括三项:
(1)是“到达”还是“离去”;
(2)汽车牌照号码;
(3)“到达”或“离去”的时刻。
3.与每组输入信息相应的输出信息为:
如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。
提示:
需要另设一个栈,临时停放为让路而从停车场退出的车。
28.算术表达式求解
设计能够计算表达式的程序,要求能够计算包含加减乘除括号的表达式进行计算。
29.数制转换问题
任意给定一个M进制的数x,请实现如下要求
1)求出此数x的10进制值(用MD表示)
2)实现对x向任意的一个非M进制的数的转换。
3)至少用两种或两种以上的方法实现上述要求(用栈解决,用数组解决,其它方法解决)。
19.
30.学生搭配问题
问题描述:
一班有m个女生,有n个男生(m不等于n),现要开一个舞会。
男女生分别编号坐在舞池的两边的椅子上,每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴。
请设计一系统模拟动态地显示出上述过程,要求如下:
基本要求:
(1)输出每曲配对情况;
(2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况.至少求出K的两个值;
(3)尽量设计出多种算法及程序,可视情况适当加分。
31.哈夫曼编码/译码器
问题描述:
设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。
基本要求:
(1)将权值数据存放在数据文件中(文件名为data.txt,位于执行程序的当前目录中)
(2)分别采用动态和静态存储结构。
(3)初始化:
键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;
(4)编码:
利用建好的哈夫曼树生成哈夫曼编码;
(5)输出编码;
(6)设字符集及频度如下表:
字符空格ABCDEFGHIJKLM
频度1866413223210321154757153220
字符NOPQRSTUVWXYZ
频度5763151485180238181161
提高部分:
(1)译码功能;
(2)显示哈夫曼树;
(3)界面设计的优化。
32.求二叉树上结点的路径
要求:
实现如下基本功能
1、二叉树的建立
2、用非递归算法先序遍历二叉树
3、用非递归算法中序遍历二叉树
4、用非递归算法后序遍历二叉树
5、求指定结点的路径。
33.二叉排序树的实现
1)以回车('\n')为输入结束标志,输入数列,生成一棵二叉排序树T;
2)对二叉排序树T作中序遍历,输出结果;
3)输入元素x,查找二叉排序树T中是否存在x。
4)输入x插入之。
5)输入x删除之。
6)分别用顺序和链式2种方式存储。
34.图的遍历和生成树求解实现
要求:
1)先任意创建一个图;
2)图的DFS,BFS的递归和非递归算法的实现
3)最小生成树(两个算法)的实现,求连通分量的实现
4)要求用邻接矩阵、邻接表、十字链表多种结构存储实现
35.排序综合练习
利用随机函数产生N个随机整数(200以上),对这些数进行多种方法进行排序。
要求:
1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。
并把排序后的结果保存在不同的文件中。
2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。
36迷宫求解
问题描述可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 题目