第一篇:数据结构课程设计题目
数据结构课程设计题目(大题目)[精选]
一、公司销售管理系统(4人)
项目开发基本要求
1.客户信息管理:对客户的基本信息进行添加、修改和删除。
2.产品信息管理:对产品的基本信息进行添加、修改和删除。
3.供应商信息管理:对供应商的基本信息进行添加、修改和删除。
4.定单信息管理:对定单的基本信息进行添加、修改和删除。
二、高校科研管理系统(9人)
系统主要用于帮助高校或科研单位管理和维护各项科研相关资料
项目开发基本要求
1.系统用户管理模块:为系统新用户设置用户名及口令;操作员更改自己的系统口令。
2.数据字典管理模块:管理项目性质包括:分为国家自然科学基金、86
3、部省科委及企业集团四种情况;范围包括:分为全国、国际、地方三种情况;检索源包括:分为EI、SCI、核心和一般四种情况。
3.项目参加人员管理模块包括:显示添加修改删除查询。
4.项目基本情况模块包括:显示添加修改删除查询。
5.项目获奖情况模块包括:显示添加修改删除查询。
6.期刊论文管理模块包括:显示添加修改删除查询。
7.著作管理模块包括:显示添加修改删除查询。
8.科研工作量统计模块:按照学校科研工作量计算办法,为每位科研人员进行科研工作量的计算和统计。
9.科研积分统计模块:按照学校科研积分计算办法,为每位科研人员进行科研计分的计算和统计。
三、网络五子棋对战(2人)
四、网络路由模拟(2人)
五、不同排序算法模拟(2人)
六、科学计算器(2人)
第二篇:数据结构课程设计题目
一、表达式求值(2-3人)
问题描述:从键盘上输入中缀算数表达式,计算出表达式的值。 基本要求:
1. 程序对所输入的表达式做简单的判断,如果表达式有错,能给出适当的提示。
2. 能处理+、-、×、÷
这四种基本的算术运算符。
二、停车场管理(3-4人)
问题描述:假设停车场只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列,如果车场内已经停满了汽车,则后来的汽车只能在门外的便道上等候。一旦停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该车辆开出大门后,为它让路的车辆再按原次序进入停车场。每辆汽车在离开时都要依据停留时间交费(在便道上停留的时间不计费)。
基本要求:
1. 汽车的输入信息格式为:到达/离去的标识,汽车牌照号码,到达/离去的时间。
2. 对于不合理的输入信息有适当的提示,例如要求离开的汽车没在停车场或便道时有相应的提示。
提示:以栈模拟停车场,用队列模拟便道,另设一个栈临时停放为让路而从车场退出的车。
三、约瑟夫环问题(2人)
问题描述:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,每个人持有一个正整数密码。开始时任选一个正整数作为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m是停止报数,报m的人出列,将他的密码作为新的m值,从他的下一个人开始重新从1报数。如此下去,直到所有人全部出列为止。令n最大值取30。要求设计一个程序模拟此过程,求出出列编号序列。
四、航空客运订票系统(4-5人)
问题描述:业务主要包括查询航线和客票预订的信息、客票预订和办理退票等。 基本要求:
1. 系统必须能存储以下数据信息:
航班信息:飞机抵达城市、航班号、飞机号、起降时间、票价、总座位数和剩余座位数、已订票的客户名单。 客户信息:客户姓名、证件号、座位号。 2. 系统能实现的功能:
承办订票业务:根据客户提出的要求查询该航班信息,若满足要求,则为客户办理订票手续,输出座位号。
退票业务:根据客户提供的航班号和订票数量办理退票手续。 查询功能:查询航线信息(根据飞机的降落地点输出航班号、飞机好、起降时间、票价和剩余座位数)和客户预订信息(根据客户证件号输出航班号、飞机号和座位号)
五、汉诺塔游戏程序(2-3人)
问题描述:在平面上有三个位置A、B、C,在A位置上有n个大小不等的圆盘、小盘压在大盘上形成圆盘堆。要求将A位置的N个圆盘通过B位置移动到C位置上,并按同样的顺序叠放。移动圆盘时必须遵循以下规则:
1. 每一次只能移动一个圆盘
2. 圆盘可以放在A、B、C任何一个塔座上 3. 任何时刻都不能将大圆盘压在小圆盘上 基本要求:
圆盘的个数从键盘输入(如3-64等);用动画的形式在屏幕上显示盘的移动。
六、八皇后问题(2人)
问题描述:八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上。
基本要求:统计总共有多少种摆法,并以一定方式输出摆好的格局。
七、简单个人图书管理系统(3-4人)
问题描述:学生在学习过程中拥有很多书籍,对购买的书籍进行分类和统计是一种良好的习惯。如果用文件来存储相关书籍的各种信息,包括书号、书名、作者名、价格和购买日期,辅之以程序对书籍信息进行统计和查询会使书籍管理工作轻松有趣。 基本要求:
1. 在外存中用文件存储书籍相关信息 2. 在内存中设计数据结构存储图书信息 3. 能查找、删除、插入、更新
4. 能按作者名对书籍进行排序并显示排序结果
八、双端队列(2人)
问题描述:双端队列是插入和删除操作可以在两端进行的线性表,表的两端分别称作端点1和端点2。设计双端队列的数据结构,实现入队、出队等基本操作。
提示:为便于操作,采用带头结点的双链表存储双端队列
九、迷宫问题(2人)
问题描述:迷宫实验是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。在给出入口和出口的前提下,给出动态的迷宫行走路线 基本要求:
1. 设计数据结构存储迷宫
提示:用二维数组表示迷宫,1代表有障碍,0代表无障碍 2. 设计存储结构保存入口到出口的通路
十、火车车厢重排问题(4-5人)
问题描述:一列货运列车共有n节车厢,每节车厢将停放在不同的车站。假定n个车站的编号分别为1-n,即货运列车按照第n站到第1站的次序经过车站。为了便于从列车上卸掉相应的车厢,车厢的编号应与车站的编号相同,这样,在每个车站只要卸掉最后一节车厢。所以,给定任意次序的车厢,必须重新排列它们。车厢的重排工作可以通过转轨站完成。在转轨站中有一个出轨、一个入轨和一个缓冲轨,缓冲轨位于入轨和出轨之间。设缓冲轨按先进先出的方式运作,设计算法解决火车车厢重排问题。
基本要求:设计存储结构表示n个车厢、k个缓冲轨以及入轨、出轨。假设k=3。
十一、 魔方阵(2人)
问题描述: 在一个n×n的矩阵中填入一个1到n2的数字(n为奇数),使得每一行、每一列、每条对角线的累加和都相等。
十二、简单个人电话号码查询系统(3-4人)
问题描述:人们在日常生活中经常要查找某个人或某个单位的电话号码,要求实现一个简单的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。 基本要求:
1. 在外存中用文件保存电话号码信息
2. 在内存中设计数据结构存储电话号码信息
3. 将电话号码信息按某一字段排序,以提高查找效率 4. 提供插入、删除、修改等维护功能。
十三、直接插入排序基于单链表的实现(1人)
问题描述:采用单链表存储待排序数据,在其上实现直接插入排序算法。 基本要求:排序的数据的个数及其内容由用户从键盘上输入。
十四、患者看病过程模拟(2人)
问题描述:患者到医院看病的过程为先排队等候再看病治疗。在排队的过程中主要重复做两件事:一是患者到达诊室,将病历交给护士,排到等候队列中候诊;二是护士从等候队列中取出下一个患者的病历,该患者进入诊室看病。设计算法模拟该过程。 基本要求:
1. 以菜单的形式供用户选择相应的操作 2. 可以查看当前正在就诊的病人的信息 3. 可以查询当前等候就诊的病人的信息
十五、汽车牌照数据的排序与快速查找(3人)
问题描述:在汽车数据的信息模型中,汽车牌照是关键字,而且是具有结构特点的一类关键字。因为汽车牌照号是数字和字母混编的,例如01B7328,这种记录集合是一个适用于多关键字进行排序的典型例子。 基本要求:
1. 首先利用链式基数排序方法排序,然后利用折半查找方法实现对汽车记录按关键字查找
2. 汽车记录集合可以人工录入,也可以按自动方式随机生成
十六、求图的中心点(2人)
问题描述:假设有一个公司在某个地区有n个产品销售点,现根据业务需要打算在其中某个销售点上建立一个中心仓库负责向其他销售点提供产品。由于运输路线不同,运输费用也不同。假定每天需要向每个销售点运输一次产品,那么应将中心仓库建在哪个销售点上才能使运输费用最低。
十七、 集合的交、并和差运算的实现(1-2人)
问题描述:用有序单链表表示集合,实现集合的交、并、差运算 基本要求: 空间复杂度为O(1) 十
八、单链表实现十进制大整数运算(1-2人)
问题描述:使用单链表实现不限大小的整数,每个结点存储一位数字,要求实现加、减运算。即能从键盘上输入两个大整数,比如:12345123451234512345和-11111111111111111111,则加的结果应为:01234012340123401234;减的结果应为:23456234562345623456。 基本要求: 从键盘上输入运算数和运算符,输出结果。 十
九、哈夫曼编码(4-5人)
问题描述:利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。这就要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码。对于双工信道(即可以双向传输信息的信道),每端都需要一个完成的编译码系统。试为这样的信息收发站写一个哈夫曼的编译码系统。
基本要求:
1. 初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树。
2. 编码。利用已建好的哈夫曼树,对正文进行编码。
3. 译码。对编码好的内容进行译码。
4. 打印编码。
二
十、商品货架管理(2人)
问题描述:商品货架可以看成一个栈,栈顶商品的生产日期最早,栈底商品的生产日期最近。上货时需要倒货架,以保证生产商品较近的商品在较下的位置。用栈和队列作为周转,实现上述管理过程。
二十一、稀疏矩阵运算器(3人)
问题描述:实现两个稀疏矩阵的加、减、乘运算。
基本要求:可用三元组顺序表存储稀疏矩阵,矩阵的运算结果以通常的阵列形式输出。
二十二、校园导游程序(3-4人)
问题描述:用无向图表示你所在学校的景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等消息。 基本要求:
1. 能查询各景点的相关信息
2. 为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度。
二十三、 排序综合(2-3人)
问题描述:利用随机函数产生N个随机整数(20000以上),对这些数使用多种方法进行排序。 基本要求: 1. 至少采用三种方法(希尔排序、快速排序、堆排序)实现上述问题求解
2. 统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法
3. 统计每种算法所用的比较次数和交换次数,最后列表显示
二十四、线索二叉树(1人)
问题描述:建立一个中序线索二叉树,并且完成中序遍历。求该中序线索二叉树上已知结点在中序的前驱和后继;
第三篇:数据结构课程设计分类题目
线性表
顺序表:
1、设有一元素为整数的线性表L=(a1,a2,a3,„,an),存放在一维数组A[N]中,设计一个算法,以表中an作为参考元素,将该表分为左、右两部分,其中左半部分每个元素小于等于an,右半部分每个元素都大于an, an位于分界位置上(要求结果仍存放在A[N]中)。
2、设线性表存于A[1..size]的前num各分量中,且递增有序。请设计一个算法,将x插入到线性表的适当位置上,以保持线性表的有序性。
3、线性表(a1,a2,a3,„,an)中元素递增有序且按顺序存储于计算机内。要求设计一算法完成: (1) 用最少时间在表中查找数值为x的元素。
(2) 若找到将其与后继元素位置相交换。
(3) 若找不到将其插入表中并使表中元素仍递增有序。
4、已知数组A[0:n-1]的元素类型为int,试设计算法将其调整为左右两个部分,左边所有元素为奇数,右边所有元素为偶数。
5、设计一个算法从顺序表L中删除所有值为x的元素
6、设计一个算法从顺序表L中删除所有值为x到y之间(x<=y)的元素
链表:
1、假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来两个单链表的结点存放归并后的单链表。
2、已知L
1、L2分别为两循环单链表的头结点指针,m,n分别为L
1、L2表中数据结点个数。要求设计一算法,用最快速度将两表合并成一个带头结点的循环单链表。
3、设L为单链表的头结点地址,其数据结点的数据都是正整数且无相同的,设计一个将该链表整理成数据递增的有序单链表的算法。
5、设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A的元素类型为整型,要求B、C表利用A表的结点)。
6、试编写在带头结点的单链表中删除(一个)最小值结点的(高效)算法。
7、设L为单链表的头结点地址,请写一算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申请新的链结点。
8、已知两个单链表A和B,其头指针分别为heada和headb,编写一个过程从单链表A中删除自第i个元素起的共len个元素,然后将单链表A插入到单链表B的第j个元素之前。
9、已知递增有序的单链表A,B分别存储了一个集合,请设计算法以求出两个集合A和B 的差集A-B(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。
10、 已知一个单链表中每个结点存放一个整数,并且结点数不少于2,请设计算法以判断该链表中第二项起的每个元素值是否等于其序号的平方减去其前驱的值,若满足则返回ture,否则返回false.
11、两个整数序列A=a1,a2,a3,„,am和B=b1,b2,b3,„,bn已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的子序列。
12、已知p指向双向循环链表中的一个结点,其结点结构为data、llink、rlink三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。
13、设有一个由正整数组成的无序单链表,编写完成下列功能的算法:
(1)找出最小值结点,且打印该数值;
(2)若该数值是奇数,则将其与直接后继结点的数值交换;
(3)若该数值是偶数,则将其直接后继结点删除。
14、在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素。例如:(7,10,10,21,30,42,42,42,51,70)将变作(7,10,21,30,42,51,70)。
15、设有一个正整数序列组成的有序单链表(按递增次序有序,且允许有相等的整数存在),试编写能实现下列功能的算法 :(要求用最少的时间和最小的空间)
(1)确定在序列中比正整数x大的数有几个(相同的数只计算一次,如序列{20,20,17,16,15,15,11,10,8,7,7,5,4}中比10大的数有5个);
(2) 在单链表将比正整数x小的数按递减次序排列;
(3) 将正整数(比)x大的偶数从单链表中删除。
16、编写一个算法来交换单链表中指针P所指结点与其后继结点,HEAD是该链表的头指针,P指向该链表中某一结点。
17、.已知三个带头结点的线性链表A、B和C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对A表进行如下操作:使操作后的链表A中仅留下三个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O(m+n+p),其中m、n和p分别为三个表的长度。
栈和队列
1、 设计一个算法,利用栈的基本运算将指定栈中的内容逆转。
2、 设计一个算法,利用栈的基本运算返回指定栈中栈底元素。
3、设有两个栈S1,S2都采用顺序栈方式,并且共享一个存储区[O..maxsize-1],为了尽量利用空间,减少溢出的可能,可采用栈顶相向,迎面增长的存储方式。试设计S1,S2有关入栈和出栈的操作算法。
4、设从键盘输入一整数的序列:a1, a2, a3,„,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。算法应对异常情况(入栈满等)给出相应的信息。
4、设表达式以字符形式已存入数组E[n]中,‘#’为表达式的结束符,试写出判断表达式中括号(‘(’和‘)’)是否配对的C语言描述算法:EXYX(E); (注:算法中可调用栈操作的基本算法。)
5、 从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、-、*、/四种运算。例如:234 34+2*$
6、写出一个算法,判定所给的操作序列是否合法。若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。
7、设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
8、请利用两个栈S1和S2来模拟一个队列。已知栈的三个运算定义如下:PUSH(ST,x):元素x入ST栈;POP(ST,x):ST栈顶元素出栈,赋给变量x;Sempty(ST):判ST栈是否为空。那么如何利用栈的运算来实现该队列的三个运算:enqueue:插入一个元素入队列; dequeue:删除一个元素出队列;queue_empty:判队列为空。(请写明算法的思想及必要的注释)
9、 假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾结点,但不设头指针,如图所示(编者略),请写出相应的入队列和出队列算法。
10、如果允许在循环队列的两端都可以进行插入和删除操作。要求:
(1)写出循环队列的类型定义;(2)写出“从队尾删除”和“从队头插入”的算法。
11、在一个循环链队中只有尾指针(记为rear,结点结构为数据域data,指针域next),请给出这种队列的入队和出队操作的实现过程。
12、已知Q是一个非空队列,S是一个空栈。仅用队列和栈的操作编写一个算法,将队列Q中的所有元素逆置。
13、已知求两个正整数m与n的最大公因子的过程用自然语言可以表述为反复执行如下动作:第一步:若n等于零,则返回m;第二步:若m小于n,则m与n相互交换;否则,保存m,然后将n送m,将保存的m除以n的余数送n。
(1)将上述过程用递归函数表达出来(设求x除以y的余数可以用x MOD y 形式表示)。 (2)写出求解该递归函数的非递归算法。
14、试将下列递归过程改写为非递归过程。 void test(int &sum) { int x; scanf(x);
if(x=0) sum=0 else {test(sum); sum+=x;} printf(sum); }
树和二叉树
1、二叉树用二叉链表存储,写一个算法将二叉树中的叶子结点按从右至左的顺序建立一个单链表。
2、知二叉树用二叉链表存储,写出求二叉树宽度的算法。所谓宽度是指在二叉树的各层上,具有结点数最多的那一层上的结点总数。
3、叉树用二叉链表存储,写一个算法交换各结点的左右子树。
4、二叉树用二叉链表存储,若结点的左孩子的数据域的值大于右孩子数据域的值,则交换其左右子树。
5、 叉树用二叉链表存储,编写一算法,判别给定的二叉树是否为完全二叉树。
6、 个结点的完全二叉树以一维数组为存储结构,编写一非递归算法实现对该树的先序遍历。
7、编写一算法,在二叉树中查找值为x的结点,并打印值为x的结点的所有祖先结点。
8、编写中序遍历二叉树的非递归算法。
9、编写先序遍历二叉树的非递归算法。
10、编写后序二叉树的非递归算法。
11、叉树用二叉链表存储,任给一个二叉树表示的四则运算表达式,编写算法,由该二叉树输出该表达式,若原表达式有括号亦加上。
12、有n个结点的完全二叉树存放在一维数组A[1..n]中,试据此建立一棵用二叉链表表示的二叉树 ,根由tree指向。
13、二叉树排序方法如下:
(1)将第一个数据放在树根。
(2)将随后读入的数据与树根中的数据相比较,若比树根大,则置于右子树,反之则置于左子树,建成一棵二叉树;
(3)利用中序遍历打印排序结果。 用C语言编写二叉树的排序程序。
14、二叉树结点的平衡因子(bf)定义为该结点的左子树高度与右子树高度之差。编写算法计算二叉树中各个结点的平衡因子。
15、设计算法:统计一棵二叉树中所有叶结点的数目及非叶结点的数目。
16、已知二叉树以二叉链表存储,编写算法完成:对于树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。
17、试编写算法,对一棵以孩子—兄弟链表表示的树统计叶子的个数。
18、设一棵二叉树中各结点的值互不相同,其前序序列和中序序列分别存于两个一维数组pre[1..n ]和mid[1..n ]中,试遍写算法建立该二叉树的二叉链表。
19、试设计一个算法打印出由根结点出发到达叶结点的所有路径。
20、试写出算法,求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。
21、给定一组项及其权值,假定项都存放于二叉树的树叶结点,则具有最小带权外部路径长度的树称为huffman 树。编写构造huffman 树 的算法。
22、已知一中序线索二叉树,写一算法完成对它的中序扫描。
23、已知中序线索二叉树T右子树不空。设计算法,将S所指的结点作为T的右子树中的一个叶子结点插入进去,并使之成为T的右子树的(中序序列)第一个结点(同时要修改相应的线索关系)。
24、写出算法,求出中序线索二叉树中给定值为x的结点之后继结点,返回该后继结点的指针。线索树中结点结构为:(ltag,lc,data,rc,rtag)。其中,data存放结点的值;lc,rc为指向左、右孩子或该结点前驱或后继的指针;ltag,rtag为标志域,各值为:0,则lc,rc为指向左、右孩子的指针;值为1,则lc,rc为指向某前驱后继结点的指针
25、设后序线索树中结点构造为(Ltag,Lchild,Data,Rchild,Rtag)。其中:Ltag,Rtag 值为0时,Lchild、Rchild 分别为儿子指针;否则分别为直接前驱,直接后继的线索。请写出在后序线索树上找给定结点p^ 的直接前驱q 的算法。
图
1、设无向图G有n个顶点,m条边。试编写用邻接表存储该图的算法。(设顶点值用1~n或0~n-1编号)
2、已知有向图有n个顶点,请写算法,根据用户输入的偶对建立该有向图的邻接表。即接受用户输入的(以其中之一为0标志结束),对于每条这样的边,申请一个结点,并插入到的单链表中,如此反复,直到将图中所有边处理完毕。提示:先产生邻接表的n个头结点(其结点数值域从1到n)。
3、给出以十字链表作存储结构,建立图的算法,输入(i,j,v)其中i,j为顶点号,v为权值。
4、设有向G图有n个点(用1,2,„,n表示),e条边,写一算法建立有向图的逆邻接表。
5、设已给出图的邻接矩阵,要求将图的邻接矩阵转化为邻接表,试实现其算法。
6、编写算法,将图的邻接矩阵存储改为邻接表的存储。
7、试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i<>j)。
8、已知无向图采用邻接表存储方式,试写出删除边(i,j)的算法。
9、假设有向图以邻接表存储,试编写算法删除弧的算法。
10、假设有向图以十字链表存储,试编写算法,插入弧。
12、设有向图用邻接表表示,图有n个顶点,表示为1至n,试写一个算法求顶点k的入度(1
13、写出图的深度优先搜索DFS算法的非递归算法。
14、已知带权图用邻接矩阵表示,编写函数实现用Kruskal算法构造最小生成树的算法。
15、编写函数实现用Prim算法构造最小生成树的算法。
16、编写函数实现从指定顶点到其余各顶点的最短路径的Dijkstra 算法。
17、实现图的拓扑排序算法。
查找和排序
1、 设计一个二分查找的递归算法。
2、 设计一个算法,利用二分查找算法在一个有序表中插入一个元素x,并保持表的有序性。
3、 实现散列表的相关算法
(1)给定一个序列,和散列函数,并利用线性探测再散列处理冲突,建立散列表。 (2)编写函数,查找某一个关键字 (3)编写函数,删除找某一个关键字
4、设计一个顺序查找算法
5、编写一个算法,统计 一个字符串中出现字符的次数。
6、实现二叉查找树的相关算法 (1)给定序列,创建一二叉查找树 (2)判定一棵树是否为二叉查找树
(3)采用递归和非递归算法,查找某一个关键字 (4)编写函数,删除找某一个关键字
7、编写函数实现直接插入算法、希尔排序算法。
8、编写函数实现冒泡排序算法、快速排序算法。
9、编写函数实现堆排序算法。
10、编写函数实现二路归并排序算法。
11、编写函数实现基数排序算法。
12、编写函数实现可变长度的字符串序列快速排序算法。
第四篇:数据库课程设计题目汇总分析
《数据库原理及技术》课程设计
一、课程设计的目的和要求
(1)培养学生运用所学课程《数据库系统原理》的理论知识和技能,深入理解《数据库系统原理》课程相关的理论知识,学会分析实际问题的能力。
(2)培养学生掌握用《数据库系统原理》的知识设计计算机应用课题的思想和方法。
(3)培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
(4)通过课程课程设计的训练,要求学生在教师的指导下,独立完成大作业要求的相关内容,包括:
① 通过调查研究和运用Internet,收集和调查有关资料、最新技术信息。 ② 基本掌握撰写小论文的基本步骤和写作方法。
③ 根据课题的要求基本理解和掌握E-R图的设计方法和关系模式的转换。 ⑤ 根据ER图生成数据库表。
⑥ 数据库完整性、安全性保证措施 ⑦ 数据库实施维护计划
二、课程设计题目
要求: (1)每个学生从下面50个题目中任选一个作为课程设计,调查分析一个具体的或模拟的实例。同一个班中的同学不允许选择相同的题目。选好题目后发给班长或学习汇总,产生选题冲突时,由班长/委员协调解决;
(2)描述该实例的业务信息和管理工作的要求; (3)列出实体、联系;
(4)指出实体和联系的属性; (5)画出E-R图;
(6)将E-R图转换成关系模式,并注明主码和外码; (7)建立数据字典; (8)创建数据库;
(9)根据题目的要求写查询、存储过程、触发器等。
题目:
(1)学校图书借阅管理系统 功能要求:
实现图书信息、类别、出版社等信息的管理; 实现读者信息、借阅证信息的管理; 实现图书的借阅、续借、归还管理; 实现超期罚款管理、收款管理;
创建触发器,分别实现借书和还书时自动更新图书信息的在册数量; 创建视图查询各种图书的书号、书名、总数和在册数;
1 创建存储过程查询指定读者借阅图书的情况; 建立数据库相关表之间的参照完整性约束。 (2)高校学籍管理系统 功能要求:
实现学生信息、班级、院系、专业等的管理; 实现课程、学生成绩信息管理; 实现学生的奖惩信息管理;
创建规则用于限制性别项只能输入“男”或“女”;
创建视图查询各个学生的学号、姓名、班级、专业、院系; 创建存储过程查询指定学生的成绩单;
创建触发器当增加、删除学生和修改学生班级信息时自动修改相应班级学生人数;
建立数据库相关表之间的参照完整性约束。 (3)学校人力资源管理系统
实现学校部门信息、职务、职称和教职工信息管理; 实现教师的学籍经历管理; 实现教师的家庭关系管理; 实现教师的奖惩信息管理;
创建存储过程查询学校各部门各种职称的教职工数量;
创建触发器当增加、删除教职工和修改教职工部门信息时自动修改相应部门的职工人数;
创建规则用于保证教职工的E-Mail的输入格式正确; 建立数据库相关表之间的参照完整性约束。 (4)某单位人事管理系统
实现部门、职务、职称等信息的管理; 实现职工信息的管理;
实现职工学习经历和任职经历的管理; 实现职工家庭关系的管理; 实现奖惩信息的管理;
创建存储过程查询个部门各种职称的职工数量;
创建视图查询各职工的工号、姓名、部门、职务信息;
创建触发器当增加、删除职工和修改职工部门信息时自动修改相应部门的职工人数;
建立数据库相关表之间的参照完整性约束。 (5)某书店图书进货、销售管理系统
实现图书类别、出版社、图书、仓库信息的管理; 实现进货、入库管理; 实现销售、出库管理;
创建存储过程查询某段时间内各种图书的进货和销售情况; 创建视图查询各类图书的库存总数;
2 创建触发器当图书入库时自动修改相应图书的总量和存放仓库中该图书的数量;
要求一单可以处理多种图书(比如销售设置销售单及其明细两个表); 建立数据库相关表之间的参照完整性约束。
(6)某医院信息管理系统(药品库存、收费、医生病人等) 实现药品类型及药品信息的管理; 实现药品的入库、出库管理; 实现科室、医生、病人的管理; 实现处方的登记管理; 实现收费管理;
创建触发器,当药品入库、出库时自动修改库存;
创建存储过程统计某段时间内,各科室的就诊人数和输入情况; 创建视图查询各种药品的库存总数;
建立数据库相关表之间的参照完整性约束。 (7)音响店VCD零售出租管理系统 实现VCD类型及信息的管理; 实现VCD的入库管理; 实现VCD的借还管理; 实现VCD的零售管理;
创建触发器,入库登记、零售时自动修改、现货和库存,借、还时自动修改现货数量;
创建存储过程统计某段时间内各VCD的销售、借还数量; 创建视图查询各类VCD的库存情况;
建立数据库相关表之间的参照完整性约束。 (8)某期刊的在线投稿审稿管理系统 实现作者、审稿人的信息管理; 实现稿件类型、稿件信息的管理; 实现稿件的审阅过程管理;
实现稿费、审稿费和版面费的管理;
创建存储过程,统计指定作者的稿件信息;
创建触发器,当收到审稿费时自动修改审稿费收到标记为“是”; 创建规则,使得作者的E-Mail必须满足电子邮件的基本格式; 建立数据库相关表之间的参照完整性约束。 (9)学校的工资管理系统
实现部门、职务、职称等基本信息的管理; 实现教职工信息的管理;
实现工资项目的管理,工资项目设有启用标志和加扣标志; 实现教职工工资项目及其工资的管理;
创建触发器当往教职工工资项目表中插入记录或删除记录时,自动修改该职工的应发工资数和实发工资数;
创建存储过程统计某个月各种工资项目的发放总和;
3 创建视图查询各个员工的应发、应扣和实发工资; 建立数据库相关表之间的参照完整性约束。 (10)某高校科研管理系统
实现部门、职务、职称等基本信息的管理; 实现教师信息的管理;
实现可以科研项目的申报、审批管理; 实现科研项目的验收管理;
创建默认,并邦定到科研项目的验收标志,使其默认值为“未验收”; 创建触发器,验收项目时自动修改项目的验收标志为“验收通过”; 创建存储过程统计个院系科研项目的申报和完成数量; 建立数据库相关表之间的参照完整性约束。 (11)某中学的排课管理系统
实现班级、课程等基本信息的管理; 实现学生、教师信息的管理;
实现班级课程及课程的任课教师和排课管理; 创建存储过程检测指定教师、指定节次是否有课; 创建存储过程生成指定班级的课程表; 创建存储过程生成指定老师的课程表; 建立数据库相关表之间的参照完整性约束。 (12)某家具城进销存管理系统
实现家具类型、供应商信息的管理; 实现客户信息、家具信息的管理; 实现家具入库管理; 实现家具的销售管理; 实现收款管理;
创建触发器,实现家具入库和销售时自动修改库存;
创建存储过程统计某段时间内各种商品的入库数量和销售数量; 建立数据库相关表之间的参照完整性约束。 (13)高校教材管理系统
实现出版社、教材类型等的管理; 实现教材的订购管理; 实现教材的入库管理; 实现教材的领用管理;
创建规则实现教材的书号必须满足以ISBN开头,后跟10个数字的格式,比如:ISBN7302120363;
创建触发器,实现教材入库和出库时自动修改库存数量; 创建存储过程统计各种教材的订购、到货和发放数量; 建立数据库相关表之间的参照完整性约束。 (14)高校教师信息管理系统
实现部门、职称、职务的基本信息的管理; 实现教师信息的管理;
4 实现教师家庭关系和教育经历的管理; 实现教师的奖惩管理;
创建规则使得教师的E-Mail必须符合电子邮箱的格式;
创建触发器,实现修改教师所在部门时自动修改相应部门的教师人数; 创建存储过程统计各部门各种职称的人数; 建立数据库相关表之间的参照完整性约束。 (15)红河学院机房管理系统
实现机房、上机类型等基本信息的管理; 实现机器信息、管理人员信息的管理; 实现上机管理; 实现收费管理;
创建触发器,实现下机时自动计算此次上机的时间和费用; 创建存储过程统计各机房的上机时间和上机费用;
创建存储过程统计指定时间段内各管理人员的收费合计; 建立数据库相关表之间的参照完整性约束。 (16)二手房中介管理系统
实现房屋户型、房东信息的管理; 实现租房客户信息的管理; 实现房屋的出租、归还登记; 实现租房收费管理;
创建存储过程统计各种户型的房屋的出租数量; 创建触发器,当房屋租出时自动修改该房屋的状态; 创建视图查询当前所有房屋的房号、房东、状态信息; 建立数据库相关表之间的参照完整性约束。 (17)某宾馆客房管理系统
实现客房类型、价目信息、客房信息的管理; 实现客户信息的管理; 实现入住和退房管理; 实现费用管理;
创建触发器,实现入住和退房时自动修改客房的状态;
创建存储过程统计某段时间内各种类型的客房的入住时间合计和费用合计;
创建视图查询某一时刻没有入住的房间信息; 建立数据库相关表之间的参照完整性约束。 (18)建材物资管理信息系统
实现物资类型、供应商、仓库等信息的管理; 实现物资信息的管理; 实现物资入库、销售管理;
创建触发器,实现物资入库、销售出库时自动修改对应的库存; 创建存储过程查询某段时间内各种物资的入库数量和销售数量; 创建存储过程查询某段时间内各种物资的销售收入;
5 建立数据库相关表之间的参照完整性约束。 (19)某客运公司的运输管理系统
实现车型、路线、驾驶员等信息的管理; 实现线路车次、线路站点及票价管理; 实现售票管理;
创建存储过程按线路统计乘坐次数;
创建存储过程按车次统计某段时间的乘坐次数;
创建触发器,实现售票时自动修改相应车次已售座位数; 创建视图查询各线路各车型的数量;
建立数据库相关表之间的参照完整性约束。 (20)某公司的自助餐管理系统
语义如下:某公司为了提高职工的福利待遇,规定每个员工每天可以在职工食堂用餐两次(每餐3元),可以中午用餐一次,下午用餐一次;也可以集中到中午或下午一次用餐两次。月底进行核算,如果用餐次数不足,餐费不退还职工。公司根据实际的用餐次数支付食堂餐费。 要求如下:
创建一个能满足上述要求的数据库;
定义视图查询2005年1月份没有用过餐的员工信息; 创建存储过程统计每个员工指定月份的用餐次数; 创建存储过程统计指定月份公司应支付给食堂的费用; 建立数据库相关表之间的参照完整性约束。 (21)某学校的题库管理系统
实现课程、题型等基本信息的管理;
能管理每一门课程的题型,每门课程的章节;
实现习题信息的管理,能按题型或章节录入每门课程的习题; 定义存储过程查询指定课程各种题型和各章节的习题数量; 定义视图查询各门课程使用的题型;
设每个习题有一个题号,题号由系统自动生成,要求从1开设编号; 设每个习题都有习题的建立日期,其值为系统时间,请定义实现(用默认实现);
定义存储过程实现查询各门课程、各种题型的习题数量; 可以自动抽题组成套题,习题每抽取一次,要使习题的抽取次数加1(用触发器实现);
建立数据库相关表之间的参照完整性约束。 (22)某高校的学籍管理系统
部门、专业、班级等基本信息的管理; 实现学生信息的管理; 实现学生成绩的管理; 实现学生的奖惩管理;
创建视图查询学生的学号、姓名、性别、院系、专业、班级信息; 创建存储过程统计各院系、专业学生的男女人数;
6 创建触发器当新增、修改或删除学生时自动修改相应班级的学生人数; 创建check约束限制学生的性别只能输入“男”或“女”; 建立数据库相关表之间的参照完整性约束。 (23)某送水公司的送水系统
实现工作人员、客户信息的管理; 实现矿泉水类别和供应商的管理; 实现矿泉水入库管理和出库管理; 实现费用管理;
创建触发器,实现入库、出库时相应类型矿泉水的数量的增加或减少; 创建存储过程统计每个送水员工指定月份送水的数量; 创建存储过程查询指定月份用水量最大的前10个用户,并按用水量递减排列;
建立数据库相关表之间的参照完整性约束。 (24)某工厂的物料管理系统 实现物料的分类管理; 实现部门和员工信息管理; 实现物料的入库和领用管理; 实现物料的转仓管理;
创建触发器,实现物料入库和领用时相应物料库存的自动更新; 创建触发器,实现转仓时转入仓库物料增加、转出仓库物料减少; 创建存储过程统计各仓库各种物料的现存数量;
创建存储过程统计指定时间段内各种物料的入库数量和领用数量; 建立数据库相关表之间的参照完整性约束; (25)某煤气公司送气管理系统
实现工作人员、客户信息的管理; 实现煤气类别和供应商的管理; 实现煤气入库管理和出库管理; 实现费用管理;
创建触发器,实现入库、出库时相应类型煤气的数量的增加或减少; 创建存储过程统计每个送气员工指定月份送气的数量; 创建存储过程查询指定月份用气量最大的前10个用户,并按用气量递减排列;
建立数据库相关表之间的参照完整性约束; 建立表间关系。
(26)职业介绍信息管理系统
实现职业分类、职业信息管理(职业号、职业类型号、用人单位、需求人数、已聘人数、备注);
实现用人单位、求职者信息管理,求职者信息设有聘用标志,默认值为未聘用;
实现求职者和职业匹配管理(职业号、求职人员编号);
实现费用管理,包括用人单位交费情况、求职人员交费情况;
7 创建触发器,求职成功时,自动修改相应职业的已聘人数和相应职工的聘用标志为‘聘用成功’;另外如果相应职业的已聘人数不得超过需求人数;
创建存储过程查询各种职业的需求数和已聘用数; 创建规则限制求职者的性别,必须为‘男’或‘女’; 建立表间关系。
(27)再就业服务中心管理信息系统 实现服务中心信息管理;
实现职业分类、用人单位信息管理;
实现求职人员信息、职业信息管理(职业号、职业类型号、用人单位、需求人数、已聘人数、备注); 实现求职成功登记;
实现费用管理,包括用人单位交费情况、求职人员交费情况;
创建触发器,求职成功时,自动修改相应职业的已聘人数和相应职工的聘用标志为‘聘用成功’;另外如果相应职业的已聘人数不得超过需求人数;
创建存储过程查询各种职业的需求数和已聘用数; 创建规则限制求职者的性别,必须为‘男’或‘女’; 建立表间关系。
(28)某电力公司收费管理信息系统
实现客户信息、用电类型(类别号、类别名、电价)及业务员管理; 实现客户用电信息管理(客户号、月份、用电类别号、用电度数); 实现客户费用管理(客户号、月份、费用、收费标志),收费标志的默认值为‘未收’;
实现收费登记(客户、月份、应收费用、实收费用、业务员),并自动修改收费标志(用触发器实现); 创建触发器,实现收费时自动更加应收费用和实收费用,计算本次结余,然后修改客户信息表中的结余金额;
创建存储过程统计指定月份应收费用和实收费用;
创建存储过程查询指定月份未交费的用户信息,以便崔费;
创建规则使得月份符合格式“××××年××月”,并邦定到表中相应字段;
建立表间关系。
(29)某自来水公司收费管理系统
实现客户信息、用水类型(类别号、类别名、水价)及业务员管理; 实现客户用电信息管理(客户号、月份、用水类别号、用水量); 实现客户费用管理(客户号、月份、费用、收费标志),收费标志的默认值为‘未收’;
实现收费登记(客户、月份、应收费用、实收费用、业务员),并自动修改收费标志(用触发器实现);
8 创建触发器,实现收费时自动更加应收费用和实收费用,计算本次结余,然后修改客户信息表中的结余金额;
创建存储过程统计指定月份应收费用和实收费用;
创建存储过程查询指定月份未交费的用户信息,以便崔费;
创建规则使得月份符合格式“××××年××月”,并邦定到表中相应字段;
建立表间关系。
(30)学校家教服务管理系统
实现教师信息、职业类型管理;
实现职业登记(职业号、名称、地址、电话等);
实现职业作息登记(职业号、日期、开始时间、结束时间、教师); 实现工资管理和收费管理;
创建存储过程统计指定日期范围内各的时刻时间总和; 创建存储过程统计各种职业的需求次数;
创建check约束限制教师性别必须输入‘男’或‘女’; 建立表间关系。
(31)高校学生就业管理系统
实现院系、专业、毕业生信息管理(设有就业标志,初值为‘待业’); 实现职业类型、职业信息(职业号、类型号、需求数量、聘用数量、用人单位)登记;
实现毕业生就业登记(学号、职业号),自动修改相应学生的就业标志和职业的聘用数量,并保证聘用数量不大于需求数量;
创建存储过程查询毕业生的人数、待业人数、就业人数和就业率; 创建存储过程查询各专业的毕业生就业率;
创建check约束限制毕业生性别必须为‘男’或‘女’; 建立表间关系。
(32)某景点门票销售管理系统
实现票价管理(应分老年、小孩、成人、团体等); 实现营业员管理;
实现门票销售、退票管理;
创建存储过程统计指定日期的门票销售情况; 创建存储过程统计指定月份的门票销售情况;
创建存储过程统计指定日期各种价格的门票销售情况; 创建存储过程统计指定营业员指定日期的收费情况; 创建表间关系。
(33)某商店进销存管理系统
实现商品类别、供货商、业务员信息管理; 实现商品信息、仓库信息管理、仓库商品管理;
实现商品验收入库、商品销售出库管理,入库和出库时自动修改对应商品的总库存和分库库存量(用触发器实现),另外验收或销售时一单可以验收或销售多种商品;
9 实现转仓管理,转仓时自动修改转出仓库和转入仓库对应商品的数量(用触发器实现);
创建存储过程统计指定时间段内各种商品的进货数量和销售数量; 设商品的单位只能是‘只’、‘件’、‘箱’,创建规则进行限制; 创建表间关系。
(34)某书店书刊出租和零售管理系统
实现图书类别、期刊类别、出版社等基本信息管理; 实现图书信息、期刊信息、客户信息管理; 实现借阅、归还、零售管理;
借阅或归还时自动修改图书或期刊的在册数量,零售时修改图书或期刊的总量和在册数量(用触发器实现);
创建存储过程统计指定时间段内各种图书、期刊的借阅、零售数量; 创建存储过程统计指定客户借阅、购买情况(书名(刊物名)、数量); 创建check约束限制图书、期刊的单位为‘本’; 创建表间关系。
(35)某汽车美容店管理系统
实现美容项目及价格信息管理;
实现客户信息、客户车辆信息管理; 实现美容登记和收费管理;
创建存储过程统计指定月份各种美容项目的美容次数; 创建存储过程统计指定年份各客户的美容次数; 创建存储过程统计指定月份美容店的收入情况; 创建规则限制客户的性别必须输入‘男’或‘女’; 创建表间关系。
(36)某高校学生选课管理系统 实现学生信息、课程学生管理; 实现教师及任课信息管理;
实现选课登记,要保证学生不能选修重复的课程(实用触发器实现); 创建存储过程统计各学生指定学期选修课程的总学分数; 创建视图查询2006-2007学年,没有被选修的课程; 创建存储过程统计各教师任课的学生人数; 创建表间关系。
(37)火车站票务管理系统 实现车次管理;
实现车次及价格管理(含到各站的价格); 实现业务员管理; 实现车票销售管理,车票销售时不能超员,并自动修改剩余的座位数(用触发器实现);
创建存储过程统计指定车次指定发车时间的车票销售情况; 创建存储过程统计指定日期各业务员车票的销售收入; 实现退票管理,退票时自动修改相应车次的剩余座位数(用触发器实现);
10 创建表间关系。
(38)某电信营业厅营业收费管理系统 实现费用类型、业务员管理;
实现客户信息管理,客户设有结余金额;
实现收费管理,自动修改用户的结余金额(用触发器实现); 创建存储过程统计指定月份各种费用类型的收费情况; 创建存储过程统计指定日期各业务员的收费情况;
创建规则限定客户的电话号码是有非0数字开头的七位数字组成的号码;
创建表间关系。
(39)某单位设备管理系统
实现设备类别、设备信息管理; 实现用户管理;
实现设备入库管理,必须自动修改相应设备的数量;
实现设备的领用和归还管理(要自动修改相应设备的可领用数量); 实现设备的报损管理(报损后要自动修改相应设备的数量和可领用数量);
创建存储过程统计各种类型设备的数量;
创建存储过程统计指定月份各设备的领用归还情况; 创建表间关系。
(40)某药店进销存管理系统
实现药品类型、产商等的管理; 实现药品存放仓库的管理;
实现药品信息的管理,入库和出口时必须能自动修改库存(使用触发器实现);
假如药品的计量单位只能是“瓶”、“袋”,“支”,请用check约束实现其完整性;
销售时每一个销售单,可以销售多种药品,并能根据销售的各种药品的数量和单价计算销售小计和总计金额(使用触发器实现);
实现销售收款,收完款后要自动修改销售单的结账标记(结清为‘Y’,未结清为‘N’)(使用触发器实现);
定义视图查询各仓库中存放的药品信息和数量;
定义存储过程查询日销售明显(包括销售的药品、数量、金额); 定义存储过程生成收款员的收款日报(收款员、金额); 建立数据库相关表之间的参照完整性约束; 建立表间关系。
(41)某单位考勤管理系统 实现部门、员工信息管理;
实现系统信息管理,用于设置上午、下午的上下班时间; 实现考勤登记;
创建触发器,如果打卡时间超出上班时间,并且小于5分钟,登记为迟到,否则登记为旷工;
11 创建存储过程统计各员工指定月份的缺席、旷工次数;
创建视图分组查询各部门的职工信息及职工人数,使用Compute子句; 创建check约束,限制员工的性别必须为‘男’或‘女’; 建立表间关系。 (42)机房管理系统
实现机房信息、机器信息、学生信息、上机类型信息的管理; 实现学生上机充值信息的管理;
实现学生上机过程的登记、费用信息的管理; 实现教学班及教学班学生信息的管理;
实现上机费率标准的设置及教学班上机的预约,即设置各教学班的上课时段。
创建存储过程统计各机房上机费用的统计;
创建触发器实现费用登记时,自动修改该生的账户余额。 建立各表之间的关系。
(43)QQ实时聊天程序
客户端:
登陆功能:建立与服务器的连接并登陆,能显示登陆错误信息。
界面显示:将在线好友显示在好友列表中,并实现系统托盘,加入工具栏便于操作。
聊天功能:与好友聊天。
聊天纪录:能保存聊天纪录,并能察看聊天纪录。
信息提示:闪动托盘图标提示到来信息,并播放不同音乐来提示。 其他:
用户登陆成功,将保存其号码,以便下次登陆时,不必再输入而可以直接选择,显示登陆时间。 服务器端:
向各个客户端发布系统消息。
接受来自客户端的各种信息并分别处理。
1)登陆信息:检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。就将在线用户发给该用户,
将该用户的状态发给各在线用户。同时在服务器端显示出来。 聊天信息:转发给消息指定的用户。
3)申请信息:自动分配8位用户号码,并保存该用户,同时将信息返回给客户端。
4)用户下线:将此用户下线消息发给各客户端,并改写用户在服务器端的状态。 (44)英语学习助手
功能模块
实现英语单词的录入、修改、删除等基本操作。
实现常用英语单词例句的录入、修改、删除等基本操作。 实现英语单词检索、翻译等。
12 常用英语单词例句检索。
根据难度随机生成一份单词测试题目。 能够检索出短文极其翻译对照表。 具有数据备份和数据恢复功能。
(45)小型超市零售管理系统
系统功能的基本要求:
前台POS销售系统(基本功能):
商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。
安全性。POS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。
独立作业。特有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业。 后台管理系统(基本功能):
进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。
销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结帐情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。 库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。
人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。
(46)中小学智能排课系统
1. 系统功能的基本要求:
能根据教师要求(如某天不得排课)、课程约束(如体育不能排在上午第一节课)、班级约束(如某班星期五下午最后一节课不排课)、校级约束(如全校所有班级星期一下午第一节课都为班会)等信息自动为班级和教师生成课程表,要求主课尽量排在上午和下午
一、二节课,
13 副课尽量排在上午和下午的最后一节课,如体育课排在上午第一节课是不太合适的。对于软件不能安排的少数课程,教务工作者能够在自动排出的课程表上进行手工调课。 要求:
系统可以进行两节连课处理,如作文课可以连课上;
排出的课程表中不允许有教师冲突的情况,比如,一个教师同时给两个班级上课是不允许的;
要求课程表中的课程要有所变化,比如一个班级的所有数学课总是排在上午第一节课是不好的课程表。
每周上课天数可以是5天也可以是六天,每天上课节数可以是7节或是8节;(5) 每个年级所开课程是一样的,而且所开课程可以变化; 一个教师可以教授多门课程;
系统可以为每个班级和每位教师打印课程表;
系统可以把生成的课程表自动转化成网页在网上公布; 在课表生效后,教师可以要求调课;
教师数量是动态的,所开课程的数量也是动态的。 (47)网上书店
功能需求: (参考)
系统管理:用户注册、注销、登陆、修改密码;
图书查询:图书具有书名、作者、编号(ISBN)、出版社、定价、折扣、目录、库存状态等信息。用户可根据书名、作者、出版社等信息进行模糊查询。 订单管理:用户可通过网络下订单,经检查有效的订单发送到用户信箱,等待用户支付款项。用户付款后,通过邮局向用户发送图书,并对这一过程进行跟踪管理。
信息服务:跟踪每一个注册用户购买或浏览习惯,当书库中有此类新书时用电子邮件通知该用户。
用户论坛:用户可在此发表书评或进行投诉。 (48)求职网站
功能需求:(参考中华英才网)
系统管理:用户注册、注销、登陆、修改密码。其中用户分为求职用户与企业用户。
档案管理:用户档案的建立、修改、保存、查询;
信息查询:用户可根据专业、工作经验、薪金等属性进行模糊查询; 信息互动:用户开通相关服务后,可自动收到相关求职/招聘信息,从而减少用户搜索负担。
行业动态:根据行业需求/工资变化,自动生成分析报告,从而为就业提供一定指导。
求职论坛:为用户提供一个网上交流论坛。 (49)博客管理系统
功能需求:
14 管理员可以自由定义会员组(等级)的各种属性,如划分新手入门、高级用户、尊贵用户等等。等级不同,在上传文件类型大小、上传空间大小、每天最多发布的日志数目、图片是否加水印、网站是否可以加密等权限方面有所不同;
用户的升级,可以与网站积分制度相结合,可选择用户达到一定积分自动升级到更高一组,拥有更多权限,从而达到激励网站用户的目的。管理员可以批量移动会员到某个组,或者进行组间数据的转移。
网站积分:用户在网站的各项活动,自注册、邀请的有效用户、发表日志、评论、推荐为精华等等,都可由系统自动为其匹配相应的积分。网站各项活动的积分,由管理员自定
用户模板分类及修改权限:用户模板可分类别,模板分类与用户级别相结合,可充许高级别的用户选择更多模板分类,从而达到激励用户的目的,并有可能发展相关的增值项目;
管理员分权限:设立内容管理员,内容管理员有不同于普通用户的登陆地址和管理界面。
内容管理员可进行分组,不同组别有不同的管理权限。超级管理员可以定义不同内容管理组的用户是否拥有以下权限:可以管理的日志分类、可以管理的相册分类、可以管理的用户组、是否可以修改用户、是否可以进入用户后台、是否可以修改用户组、是否可以添加修改用户模板、是否可发布站点公告,是否可以发布通知。不同管理员分组账号可以通过账号列表显示,方便查看。
内容管理:系统可记录日志、留言、评论发表者的IP地址,相同IP地址的文章、留言、评论可一次性清除,并同时被记录到网站黑名单。日志管理,和以前版本后台只显示用户日志、留言、评论标题不同,后台自动摘取日志、评论、留言的部分内容,在管理后台即可直观查看日志等内容。自动锁定用户功能,频繁注册留言的用户,可由系统自动锁定。敏感用户列表,凡在日志等内容中发表过敏感词汇的用户自动归入敏感用户列表,以方便管理员重点盯防管理。
用户头像及用户资料的管理:用户可上传图片作为头像,并可在网站、评论、群组等多处实现调用,大大增加网站美观及个性程度。用户资料完善,并可在用户博客页面调用头像、用户级别等资料。 Flash相册管理:相册使用更美观实用的Flash相册方式,并且能在Flash相册中直接进行相片的上传、删除操作;
日志发布自动保存:用户发布日志时自动保存在服务器,防止用户因为浏览器出现问题时的内容丢失 (50)房屋租赁管理系统
某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者信息,以便快速地提供租赁服务。该系统具有以下功能:
登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话。
15 登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其分配一个识别号)。除此之外,还需登记房屋的地址、房型(如平房、带阳台的楼房、独立式住宅等)、最多能容纳的房客数、租金及房屋状态(待租赁、已出租)。一名房主可以在系统中登记多个待租赁的房屋。
登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须事先在系统中登记个人信息,包括:姓名、住址、电话号码、身份证编号、性别。 租赁房屋。已经在系统中登记的租赁者,可以得到一分系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录。
收取手续费。每成功一次租赁服务,系统根据租赁价格按比例生成费用清单。
变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态请求。
用户论坛。租赁者在论坛上寻找合租对象、与房主进行交流。
三、数据字典设计
(1)根据你在“实体联系模型设计”一项中选择的或其它实例,对该实例的业务工作和信息流进行分析,先局部,后整体地描述出业务数据流图,并描述出重要的数据字典。
(2)根据逻辑设计的原则,将上述E-R图转换成关系模式并指明主码和外码。
四、提交要求(电子材料)
1.数据库设计说明书 格式:
1. 封面:姓名、学号、题目、班级等; 2. 题目及要求说明;
3. 说明书(含需求分析、系统数据库的设计、数据字典、数据库及数据库对象创建的SQL语句、其他题目要求完成的查询、视图、存储过程、触发器等的创建代码)。
题目(XXXXXXX)
1.问题的描述 2.需求分析 2.1 需求分析
2.2 系统功能结构 2.3 数据流图
3.逻辑结构设计 3.1 局部E-R图 3.2 全局E-R图
16 3.3 数据字典 4.物理结构设计 5.结论
五、评分规则
数据库设计说明书:包括需求分析、概念设计、逻辑结构设计、物理结构设计、数据库测试数据的说明、备份和恢复的维护计划、安全的设置。
17
2.课程设计作业提交
1、所有课程设计作业必须在第20周的周六前提交(2016年6月20日),逾期未交作业者按0分处理。7月1日我将在QQ群里公布交作业名单,如有差错及时与老师联系。
2、每人将设计的全部文档和备份的数据库压缩成一个文件上传至文件命名方式为:学号+姓名+设计题目,上传至教学管理平台。
第五篇:数据库课程设计题目16个经典实例
1.机票预定信息系统 系统功能的基本要求:
航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。
2.长途汽车信息管理系统 系统功能的基本要求:
线路信息,包括出发地、目的地、出发时间、所需时间等。汽车信息:包括汽车的种类及相应的票价、最大载客量等。票价信息:包括售票情况、查询、打印相应的信息。
3.人事信息管理系统 系统功能基本要求:
员工各种信息:包括员工的基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员工各种信息的修改;对转出、辞退、退休员工信息的删除;按照一定条件,查询、统计符合条件的员工信息;教师教学信息的录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。科研信息的录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等。按条件查询、统计,结果打印输出。
4.超市会员管理系统 系统功能的基本要求:
加入会员的基本信息,包括:成为会员的基本条件、优惠政策、优惠时间等。会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等。会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。会员返利信息,包括会员积分的情况,享受优惠的等级等。对货物流量及消费人群进行统计输出。
5.客房管理系统 系统功能的基本要求:
客房各种信息,包括客房的类别、当前的状态、负责人等;客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。以及退房、订房、换房等信息的修改。对查询、统计结果打印输出。
6.药品存销信息管理系统 系统功能基本要求
药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。
7.学生选课管理信息系统 系统功能基本要求
教师信息,包括教师编号、教师姓名、性别、年龄、学历、职称、毕业院校,健康状况等。学生信息,包括学号、姓名、所属院系、已选课情况等。教室信息,包括,可容纳人数、空闲时间等。选课信息,包括课程编号、课程名称、任课教师、选课的学生情况等。成绩信息,包括课程编号、课程名称、学分、成绩。按一定条件可以查询,并将结果打印输出。
8.图书管理系统 系统功能基本要求
图书信息,包括图书编号、图书名称、所属类别等;读者信息,包括读者编码、姓名、性别、专业等;借还书信息,包括图书当前状态、被借还次数、借阅时间等。
9.学生成绩管理系统 系统功能基本要求
学生信息,学号、姓名、性别、专业、年级等;学生成绩信息,包括学号、课程编号、课程名称、分数等。课程信息,包括课程编号、课程名称、任课教师等。对学生成绩的查询(不能任意修改)、统计,并将结果输出。
10.网上书店管理信息 系统功能基本要求
书籍信息,包括图书编号、图书种类、图书名称、单价、内容简介等;购书者信息,包括购买编号、姓名、性别、年龄、联系方式购买书的名称等;购买方式,包括付款方式、发货手段等。根据读者信息查询购书情况,将统计结果以报表形式打印输出。
11.教室管理信息系统 系统功能基本要求
教室信息,包括教室容纳人数、教室空闲时间、教室设备等;教师信息,包括教师姓名、教授课程、教师职陈、安排上课时间等;教室安排信息,包括何时空闲、空闲的开始时间、结束时间等。按照一定条件查询,统计,将结果打印输出。
12论坛管理信息系统 系统功能基本要求
作者信息:包括作者昵称、性别、年龄、职业、爱好等;贴子信息:包括贴子编号、发贴日期、时间、等级等;回复信息:包括回复作者昵称、回复时间等。
13.职工考勤管理信息系统 系统功能基本要求
职工信息,包括职工编号、职工姓名、性别、年龄、职称等;出勤记录信息,包括上班打卡时间,下班打开时间,缺勤记录等;出差信息,包括出差起始时间、结束时间、统计总共天数等;请假信息,包括请假开始时间,结束时间,统计请假天数等;加班信息,包括加班开始时间、结束时间、统计加班总时间。
14.个人信息管理系统 系统功能基本要求
通讯录信息,包括通讯人姓名、联系方式、工作地点、城市、备注等;备忘录信息,包括什么时间、事件、地点等;日记信息;包括时间、地点、事情、人物等;个人财物管理,包括总收入,消费项目、消费金额、消费时间、剩余资金等。
15. 办公室日常管理信息系统 系统功能基本要求
文件管理信息:包括文件编号、文件种类、文件名称、存放位置等;考勤管理:包括姓名、年龄、职务、日期、出勤情况等;查询员工的出勤情况。会议记录:包括会议时间、参会人、记录员、会议内容等;办公室日常事务管理,包括时间、事务、记录人。按条件查询,统计。
16.轿车销售信息管理系统 系统功能基本要求
轿车信息,包括轿车的编号、型号、颜色、生产厂家、出厂日期、价格等;员工信息,包括员工编号、姓名、性别、年龄、籍贯、学历等;客户信息,包括客户名称、联系方式、地址、业务联系记录等;轿车销售信息,包括销售日期、轿车类型、颜色、数量、经手人等。按条件查询,并将销售报表打印输出。
七、课程设计题目
题目一:进销存管理系统的设计
系统概述:通过对典型的小型流通型企业的进货、销售、库存的业务流程进行分析,完成具有进货管理、销售管理、库存管理等相关功能的数据库管理应用系统。
基本要求:
1. 完成进货单(盘盈)、出货单(盘亏)的维护并完成单据的出库、入库,进货单、出货单应设置为子母表 2. 完成客户、供应商的管理
3. 完成库存表的浏览查找(商品成本用进货均价实现,同时记录最新进价)
4. 完成进货明细账的维护,可查询某月某商品的上月结存数量和金额、本月进货明细和金额、本月销售明细和金额、本月结存数量和金额 5. 完成库存结转功能(月末结转)
6. 按时间、按商品类别、顾客、供应商进行进、出货单的统计 7. 完成库存表的按时间、按类别进行统计
本题目所需的知识点:E-R关系图;数据库表设计,数据库表维护等。
该题可4个同学完成,各同学题目为: 进销存管理系统——基础数据 进销存管理系统——进货维护 进销存管理系统——售货维护 进销存管理系统——账务管理
其中,基础数据包括客户、供应商、商品类别、商品基本信息等的录入、修改、删除、打印、查询;进货维护包括进货单录入、删除、修改、查询、审核、入库、出库、打印、进货统计查询等;售货维护包括售货单录入、修改、删除、查询、审核、入库、出库、打印、售货统计查询等;账务管理包括商品库存、商品明细账的查询、打印等以及报表功能(按时间、按商品类别、顾客、供应商进行进、出货单的统计)和月末结转。
题目二:学生成绩管理系统的设计
系统概述:通过对学校日常教学管理中的课程、选课、学生、班级、教师、成绩等相关内容进行分析,完成具有教师管理、学生管理、成绩管理、课程管理、选课管理、班级管理等相关功能的小型数据库管理应用系统。
基本要求:
1. 完成学生、班级、课程、教师、选课表的维护 2. 完成成绩表的维护、浏览查找
3. 按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率 4. 统计某学生、某学期的所有课程的平均成绩。
5. 完成权限控制功能(如果一个同学独立完成,仅要求简单的用户登录即可)
6. 完成数据备份与恢复功能
本题目所需的知识点:E-R关系图;数据库表设计,数据库表维护等。
该题可4个同学完成,各同学题目为: 学生成绩管理系统——基础数据 学生成绩管理系统——成绩管理 学生成绩管理系统——权限控制
学生成绩管理系统——数据备份与恢复
其中,基础数据包括学生、班级、课程、教师的录入、修改、删除、查询、打印;成绩管理包括选课、成绩信息的录入、删除、修改、查询、打印以及相关统计查询等;用户管理包括用户、用户组、权限的录入、修改、删除、查询、打印以及权限分配、用户登录等功能;数据备份与恢复包括数据备份、数据恢复功能,要求可以备份数据到指定的文件夹、文件和从指定的文件夹、文件恢复数据到数据库。
题目三:工资管理系统的设计
系统概述:通过对人事管理管理部门中的职称、工资、员工、部门、工资类别等相关内容进行分析,完成具有人员管理、工资管理、部门管理等相关功能的小型数据库管理应用系统,系统需要具备增减工资中应发、应扣类别的灵活性,以适应将来需求的变化。
基本要求 :
1、完成人员、部门、工资类别、职称表的维护
2、根据需要对工资类别进行添加
3、完成工资表的生成,并计算相关数据,进行查询。
4、按部门计算平均工资
5、按人、年统计平均工资
6、完成权限控制功能(如果一个同学独立完成,仅要求简单的用户登录即可)
本题目所需的知识点:E-R关系图;数据库表设计,数据库表维护等。
该题可2个同学完成,各同学题目为: 工资管理系统——基础数据 工资管理系统——工资管理
其中,基础数据包括职称、工资、部门、工资类别、员工基本信息的录入、修改、删除、查询、打印;工资管理包括工资的录入、删除、修改、查询、打印以及相关统计查询等。
题目四:食品消费卡管理系统的设计
系统概述:通过对学生使用消费卡在学校餐厅的消费流程进行分析,完成具有食品管理、消费管理、餐厅管理等相关功能的小型数据库管理应用系统。
基本要求 :
1、完成人员、消费卡、餐厅、食品价目表的维护
2、完成消费表的生成,并计算消费折扣。
3、按人员、时间、餐厅统计计算消费总额
4、按食品类别、时间、餐厅统计计算消费总额
本题目所需的知识点:E-R关系图;数据库表设计,数据库表维护等。
该题可2个同学完成,各同学题目为: 食品消费卡管理系统——基础数据 食品消费卡管理系统——餐厅管理
其中,基础数据包括人员、消费卡、餐厅、食品类别、食品的录入、修改、删除、查询、打印;餐厅管理包括餐厅消费的录入、删除、修改、查询、打印以及相关统计查询等。