数据结构课程设计题目

2023-02-21

第一篇:数据结构课程设计题目

数据结构课程设计题目

数据结构课程设计题目 以下8个题目任选其一。

1.排序算法比较

利用随机函数产生30000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并且 (1)统计每一种排序上机所花费的时间。

(2)统计在完全正序,完全逆序情况下记录的比较次数和移动次数。 (3)比较的指标为关键字的比较次数和记录的移动次数(一次记录交换计为3次移动)。

(4)对结果作简单分析,包括对各组数据得出结果波动大小的解释。 2.图的深度遍历

对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用堆栈的五种基本运算(清空堆栈、压栈、弹出、取栈顶元素、判栈空)实现图的深度优先搜索遍历。画出搜索顺序示意图。 3.图的广度遍历

对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用队列的五种基本运算(置空队列、进队、出队、取队头元素、判队空)实现图的广度优先搜索遍历。画出搜索顺序示意图。 4.二叉树的遍历

对任意给定的二叉树(顶点数自定)建立它的二叉链表存贮结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出三种遍历的结果。画出搜索顺序示意图。 5.链表操作

利用链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。画出搜索顺序示意图。 6.一元稀疏多项式简单计数器 (1) 输入并建立多项式

(2) 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……cn,en,其中n是多项式的项数,ci,ei分别为第i项的系数和指数。序列按指数降序排列。 (3) 多项式a和b相加,建立多项式a+b,输出相加的多项式。 (4) 多项式a和b相减,建立多项式a-b,输出相减的多项式。 用带头结点的单链表存储多项式。 测试数据:

(1)(2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 7.实现两个链表的合并 基本功能要求: (1)建立两个链表A和B,链表元素个数分别为m和n个。

(2)假设元素分别为(x1,x2,…xm),和(y1,y2, …yn)。把它们合并成一个线性表C,使得:

当m>=n时,C=x1,y1,x2,y2,…xn,yn,…,xm 当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn 输出线性表C:

(1) 用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。 测试数据:

(1) A表(30,41,15,12,56,80)

B表(23,56,78,23,12,33,79,90,55)

(2) A表(30,41,15,12,56,80,23,12,34) B表(23,56,78,23,12) 8.哈夫曼编码的实现与应用

(1)从文件中读入任意一篇英文短文(至少含3000个字符,文件为ASCII编码的文本文件)

(2)统计不同字符在文章中出现的频率(空格、换行、标点等也按字符处理) (3)根据字符频率构造哈夫曼树,并给出每个字符的哈夫曼编码。

(4)用哈夫曼编码来存储文件,并和输入文本文件大小进行比较,计算文件压缩率

(5)根据相应哈夫曼编码,对编码后的文件进行解码,恢复成ASCII编码的英文短文后输出。

分析及设计步骤 (供参考)

1. 分析问题,给出数学模型,设计相应的数据结构。

1) 分析问题特点,用数学表达式或其它形式描述其数学模型。 2) 选择能够体现问题本身特点的一种或几种逻辑结构。

3) 依据逻辑结构和问题特点,设计并选择相应的存储结构(顺序存储结构和链式存储结构对应的算法实现有区别)。

2. 算法设计

1) 确定所需模块:对于复杂的程序设计,要充分利用模块化程序设计方法和面向对象思想,自顶向下,逐步细化。

2) 各子模块功能描述:给出主要模块的算法描述,用流程图或伪代码表示。 3) 模块之间的调用关系:给出算法各模块之间的关系图示。 3. 上机实现程序

为提高工作效率,充分利用上机调试时间,在上机之前应列出程序清单。

4. 用有代表性的各种测试数据去验证算法及程序的正确性

5. 算法分析及优化

经过上机调试,源程序运行正确,并且实现算法要求的功能,解决课程设计题目中给出的问题后,分析算法的时间复杂度和空间复杂度,如有可能对程序进行优化改进。

课程设计报告范例(参考)

约瑟夫环问题。

问题描述:设编号为1,2,…,n(n>0)个人按顺时针方向围坐一圈,每人持有一个正整数密码。开始时任意给出一个报数上限值m,从第一个人开始顺时针方向自1起顺序报数,报到m时停止报数,抱m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人起重新自1起顺序报数;如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,并给出出列人的编号序列。 基本要求:

(1)初始报数上限值m和测试数据在程序中确定; (2)用带头结点的单循环链表作数据元素的存储结构; (3)把带头结点的单循环链表作为抽象数据类型设计。 测试数据:

n = 7,七个人的密码依次为3,1,7,2,4,8,4 初始报数上限值m = 20 算法思想:

JesephRing()函数是实现问题要求的主要函数,其算法思想是:从1至m对带头结点的单循环链表循环计数,到m时,输出该结点的编号值,将该结点的密码作为新的m值,再从该结点的下一个结点起重新自1起循环计数;如此下去,直到单循环链表空时循环过程结束。 模块划分:

(1)带头结点的单循环链表抽象数据类型SCLinList,其中包括基本操作的函数有:初始化操作函数、插入一个结点操作函数、删除一个结点操作函数、取一个结点数据操作函数和判表是否非空操作函数。该抽象数据类型文件名为SCLinList.h。

(2)void SCLLDeleteAfter(SCLNode *p),其功能是删除带头结点的单循环链表中指针p所指结点的下一个结点。这是对带头结点的单循环链表抽象数据类型SCLinList,补充本问题需要的一个操作函数。 (3)void JesephRing(SCLNode *head, int m),其功能是对带头结点的单循环链表head,以m为初始报数上限值实现问题要求。

(4)void main(void),主函数,功能是给出测试数据值,建立测试数据值的带头结点单循环链表,调用JesephRing()函数实现问题要求。 数据结构:

(1)数据类型DataType定义如下: typedef struct { int number; int cipher; } DataType;

(2)带头结点单循环链表抽象数据类型SCLinList。

(3)带头结点单循环链表抽象数据类型的结点结构定义如下:

typedef struct node { DataType data; struct node *next; } SCLNode; 源程序:

源程序存放在两个文件中,文件SCLinList.h是带头结点单循环链表抽象数据类型,文件Exam3-9.c是主程序。

文件SCLinList.h: typedef struct node { DataType data; struct node *next; } SCLNode; /*结点结构定义*/ void SCLLInitiate(SCLNode **head) /*初始化*/ { if((*head = (SCLNode *)malloc(sizeof(SCLNode))) == NULL) exit(1); (*head)->next = *head; } int SCLLInsert(SCLNode *head, int i, DataType x) /*插入一个结点*/ { SCLNode *p, *q; int j; p = head->next; j = 1; while(p != head && j < i1 && i != 1) { printf("插入位置参数错!"); return 0; } if((q = (SCLNode *)malloc(sizeof(SCLNode))) == NULL) exit(1); q->data = x; q->next = p->next; p->next = q; return 1; } int SCLLDelete(SCLNode *head, int i, DataType *x) /*删除一个结点*/ { SCLNode *p, *q; int j; p = head; j = 0; while(p->next != head && j < i1) { printf("删除位置参数错!"); return 0; } q = p->next; p->next = p->next->next; *x = q->data; free(q); return 1; } int SCLLGet(SCLNode *head, int i, DataType *x) /*取一个结点数据元素值*/ { SCLNode *p; int j; p = head; j = 0; while(p->next != head && j < i) { p = p->next; j++; } if(j != i) { printf("取元素位置参数错!"); return 0; } *x = p->data; return 1; } int SCLLNotEmpty(SCLNode *head) /*链表非空否*/ { if(head->next == head) return 0; else return 1; } 文件Exam3-9.c: #include #include typedef struct { int number; int cipher; } DataType; /*定义具体的数据类型DataType*/ #include "SCLinList.h" /*包含SCLinList抽象数据类型*/ void SCLLDeleteAfter(SCLNode *p) /*删除p指针所指结点的下一个结点*/ { SCLNode *q = p->next; p->next = p->next->next; free(q); } void JesephRing(SCLNode *head, int m) /*对带头结点单循环链表head,初始值为m的约瑟夫环问题函数*/ { SCLNode *pre, *curr; int i; pre = head; curr = head->next; while(SCLLNotEmpty(head) == 1) { for(i = 1; i < m; i++) { pre = curr; curr = curr->next; if(curr == head) { pre = curr; curr = curr->next; } }

printf(" %d ", curr->data.number); m = curr->data.cipher; curr = curr->next; if(curr == head) curr = curr->next; SCLLDeleteAfter(pre); } } void main(void) { DataType test[7]={{1,3},{2,1},{3,7},{4,2},{5,4},{6,8},{7,4}}; int n = 7, m = 20, i; SCLNode *head; SCLLInitiate(&head); /*初始化*/ for(i = 1; i <= n; i++) /*循环插入建立单循环链表链表*/ SCLLInsert(head, i, test[i-1]); JesephRing(head, m); /*约瑟夫环问题函数*/ } 测试情况: 程序输出为: 6 1 4 7 2 3 5

各种排序比较结果(参考)

直接插入的比较图表350030002500350030002500直接插入的移动图表比较次数2000系列1150010005000110192837465564738291100次数移动次数2000系列1150010005000110192837465564738291100次数 冒泡的比较次数10000900080007000冒泡的移动图表10000900080007000比较次数移动次数6000500040003000200010000110192837465564738291100执行次数系列16000500040003000200010000110192837465564738291100次数系列1

SHELL的比较次数120010008001800160014001200SHELL的移动图表比较次数移动次数6004002000110192837465564738291100执行次数系列110008006004002000110192837465564738291100次数系列1

快速排序的比较次数800700600快速排序的移动图表540520500比较次数移动次数5004003002001000110192837465564738291100执行次数系列1480460440420110192837465564738291100次数简单选择的移动图表350300250系列1

简单选择的比较次数5000450040003500比较次数移动次数300025002000150010005000110192837465564738291100执行次数堆排序的比较次数107010601050系列1200系列1150100500110192837465564738291100次数 堆排序的移动图表180017801760比较次数移动次数10401030102010101000990110192837465564738291100执行次数系列1174017201700168016601640110192837465564738291100次数系列1

第二篇:数据结构课程设计题目

1. 飞机订票系统(限1 人完成)

任务:通过此系统可以实现如下功能:

录入:

可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

查询:

可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);

可以输入起飞抵达城市,查询飞机航班情况;

订票:(订票情况可以存在一个数据文件中,结构自己设定)

可以订票,如果该航班已经无票,可以提供相关可选择航班;

退票: 可退票,退票后修改相关数据文件;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

修改航班信息:

当航班信息改变可以修改航班数据文件

要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 2. 宿舍管理查询软件(限1 人完成)

1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A. 采用交互工作方式

B. 建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 2) 查询菜单: (用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询

3. 校园导航问题(限1 人完成)

设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径). 4. 图书借阅管理系统(限1 人完成)

主要分为两大功能:

1) 图书管理(增加图书、查询图书、删除图书、图书借阅、还书); 2) 会员管理(增加会员、查询会员、删除会员、借书信息); 5. 学生成绩管理(限1 人完成)

实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。

6. 活期储蓄帐目管理(限1 人完成)

活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求: 1) 能比较迅速地找到储户的帐户,以实现存款、取款记账; 2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。

7. 通讯录的制作(限1 人完成)

设计目的:用〈〈数据结构〉〉中的双向链表作数据结构,编写一个通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。

设计内容:本系统应完成一下几方面的功能: 1) 输入信息——enter(); 2) 显示信息———display( ); 3) 查找以姓名作为关键字 ———search( ); 4) 删除信息———delete( ); 5) 存盘———save ( ); 6) 装入———load( ) ; 设计要求:

1) 每条信息至包含 :姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项

2) 作为一个完整的系统,应具有友好的界面和较强的容错能力 8. 哈夫曼编码/译码器(限1 人完成)

【问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。 【基本要求】

1) 将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中) 2) 初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树; 3) 编码:利用建好的哈夫曼树生成哈夫曼编码; 4) 输出编码;

5) 设字符集及频度如下表:

字符空格 A B C D E F G H I J K L M 频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 字符 N O P Q R S T U V W X Y Z 频度 57 63 15 1 48 51 80 23 8 18 1 16 1 9. 电话号码查找系统(限1 人完成)

【问题描述】

利用散列表的设计与实现电话号码查找系统。 【基本要求】

1) 设每个记录有下列数据项:电话号码、用户名、地址;

2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表; 3) 采用一定的方法解决冲突; 4) 查找并显示给定电话号码的记录; 查找并显示给定用户名的记录。 10. 一元多项式的实现。(限1 人完成)

设有一元多项式Am(x)和Bn(x). Am(x)=A0+A1x1+A2x2+A3x3+… +Amxm

Bn(x)=B0+B1x1+B2x2+B3x3+… +Bnxn

请实现求M(x)= Am(x)+Bn(x)、M(x)= Am(x)-Bn(x)和M(x)= Am(x)×Bn(x)。

要求:

1) 首先判定多项式是否稀疏

2) 分别采用顺序和动态存储结构实现; 3) 结果M(x)中无重复阶项和无零系数项; 4) 要求输出结果的升幂和降幂两种排列情况

11. 表达式的值1(限1 人完成)

要求:从文件读取表达式,判断表达式是否合理,将表达式转换成后缀形式,按后缀表达式求值;题目涉及加减乘除,带括弧的混合运算;随时可以退出;

12. 表达式的值2(限1 人完成)

要求:从键盘输入表达式,利用算符优先原则求中缀表达式,并将表达式及其结果存入指定文件,可重复计算。

13. 学生成绩管理系统(限1 人完成)

现有学生成绩信息文件1(1.txt),内容如下 姓名 学号 语文 数学 英语 张明明 01 67 78 82 李成友 02 78 91 88 张辉灿 03 68 82 56 王露 04 56 45 77 陈东明 05 67 38 47 …. .. .. .. …

学生成绩信息文件2(2.txt),内容如下: 姓名 学号 语文 数学

英语 陈果 31 57 68 82 李华明 32 88 90 68 张明东 33 48 42 56 李明国 34 50 45 87 陈道亮 35 47 58 77 …. .. .. .. … 试编写一管理系统,要求如下: 1) 实现对两个文件数据进行合并,生成新文件3.txt 2) 抽取出三科成绩中有补考的学生并保存在一个新文件4.txt 3) 对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现) 4) 输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现) 5) 要求使用结构体,链或数组等实现上述要求.

14. 图的遍历和生成树求解实现(限1 人完成)

要求:

1) 先任意创建一个图;

2) 图的DFS,BFS的递归和非递归算法的实现

3) 最小生成树(两个算法)的实现,求连通分量的实现 4) 要求用邻接矩阵、邻接表结构存储实现

15. 排序综合(限1 人完成)

利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。 要求: 1) 至少采用五种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。

2) 统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。

16. josephs环 (限1 人完成)

任务:编号是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. HUFFMAN树及编码(限1 人完成)

随机输入一篇英文文章(或读一个TXT文件),生成并显示HUFFMAN树,输出每个字母的HUFFMAN编码,判断ASCII编码与HUFFMAN编码对本篇报文长度节省效果。

18. 拓扑排序(限1 人完成)

[问题描述] 建立图的存储结构,能够输入图的顶点和边的信息,并存储到相应存储结构中,再编写函数实现图的拓扑排序。

[基本要求] 选择邻接表作为有向图的存储结构模拟整个过程,并输出拓扑排序的顶点序列。

[测试数据] 利用下图中的数据调试程序

19. 简单的职工管理系统(限2 人完成)

1.问题描述

对单位的职工进行管理,包括插入、删除、查找、排序等功能。 2.要求

职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。 (1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。 (2)删除一名职工:从职工管理文件中删除一名职工对象。 (3)查询:从职工管理文件中查询符合某些条件的职工。 (4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排序:按某种需要对职工对象文件进行排序。 3.实现提示

职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。 (1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。 (2)对职工对象中的"姓名"按字典顺序进行排序。

(3)对排序后的职工对象进行增、删、查询、修改等操作。

20. 哈希表设计(限1 人完成)

[问题描述]:针对自己的班集体中的“人名”设计一个哈希表,使得平均查找长度不超过R,完成相应的建表和查表程序。

[基本要求]:假设人名为中国姓名的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构照,用链表法处理冲突。

[测试数据]:读取熟悉的30个人的姓名。

21. 学生信息管理 (限1 人完成)

要求每条学生信息至包含学号(xh)、姓名(xm)、性别(xb)、年龄(nl)、专业(zy)等,完成如下功能:

(1)输入学生基本信息记录——enter() (2)增加一名学生记录(可和功能1合并)——insert() (3)删除指定(按姓名)学生的信息——delete() (4)修改指定(按姓名)学生的信息)——modify( ) (5)查询符合条件的学生(按专业)——search() (6)显示学生管理库中的信息——display( ) 22. 计算一元稀疏多项式(限1 人完成)

要求完成如下功能:

(1) 输入并建立多项式——creatpolyn() (2) 输出多项式,输出形式为整数序列,序列按指数升序排列——printpolyn() (3) 多项式a和b相加,建立多项式a+b,输出相加的多项式——addpolyn() (4) 多项式a和b相减,建立多项式a-b,输出相减的多项式——subpolyn() 用带表头结点的单链表存储多项式。 测试数据:

(1)(2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6-3x+4.4x2-1.2x9)-(-6-3x+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3)

23. 通讯录的制作 (限1 人完成)

要求每条信息至包含姓名(name )城市(city)电话(tel)QQ号(qq),完成如下功能:

(1) 输入信息—— enter(); (2) 显示信息——display( ); (3) 查找以姓名作为关键字 ——search( ); (4) 删除信息——delete( ); (5) 存盘(将数据保存在文件中,此功能选做)——save ( );

24. 运动会分数统计(2人完成)

任务:参加运动会有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) 规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称

输出形式:有中文提示,各学校分数为整形

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:要求使用

1、全部合法数据;

2、整体非法数据;

3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

25. 最小生成树问题(限1 人完成)

设计要求:在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。存储结构采用多种。求解算法多种。

26. 敢死队问题(限1 人完成)

有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。

排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。

要求:至少采用两种不同的数据结构的方法实现。 27. 全国交通咨询模拟(4人完成)

【问题描述】处于对不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。

【基本要求】(1)提供对城市信息进行编辑(如:添加或删除)的功能。

(2)城市之间有两种交通工具:火车和飞机。提供对列车时刻表和飞机航班进行编辑(增设或删除)的功能。

(3)提供两种最优决策:最快到达或最省钱到达。全程只考虑一种交通工具。

(4)旅途中耗费的总时间应该包括中转站的等候时间。

(5)咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则和交通工具,输出信息:最快需要多长时间才能到达或者最少需要多少旅费才能到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。 28. 关键路径(限1 人完成)

设计要求:对于任何大型工程项目(由若干小工程组成),求其关键路径。 29. 公司销售管理系统(4人)

项目开发基本要求

1.客户信息管理:对客户的基本信息进行添加、修改和删除。 2.产品信息管理:对产品的基本信息进行添加、修改和删除。 3.供应商信息管理:对供应商的基本信息进行添加、修改和删除。 4.定单信息管理:对定单的基本信息进行添加、修改和删除。

30. 高校科研管理系统(8人)

系统主要用于帮助高校或科研单位管理和维护各项科研相关资料

项目开发基本要求 1.系统用户管理模块:为系统新用户设置用户名及口令;操作员更改自己的系统口令。

2.数据字典管理模块:管理项目性质包括:分为国家自然科学基金、86

3、部省科委及企业集团四种情况;范围包括:分为全国、国际、地方三种情况;检索源包括:分为EI、SCI、核心和一般四种情况。

3.项目参加人员管理模块包括:显示添加修改删除查询。 4.项目基本情况模块包括:显示添加修改删除查询。 5.项目获奖情况模块包括:显示添加修改删除查询。 6.期刊论文管理模块包括:显示添加修改删除查询。 7.著作管理模块包括:显示添加修改删除查询。

8.科研工作量统计模块:按照学校科研工作量计算办法,为每位科研人员进行科研工作量的计算和统计。

9.科研积分统计模块:按照学校科研积分计算办法,为每位科研人员进行科研计分的计算和统计。

第三篇:数据库课程设计题目

 题目1:计算机学院毕业设计管理系统

题目2:课程设计管理系统

要求:1)教师端和学生端

2)学生端:分组、选题目、进度安排、任务分配等

3)教师端:查看分组,查看题目,登记成绩

 题目3: 教室管理系统

1. 系统概述

本系统用于管理东华大学松江校区1号和2号教学楼的教室使用。 2. 信息要求

课程信息,教师信息,教室信息,学院信息,专业信息 3. 系统功能要求

1) 教室分配:由管理员为某门课分配教室;

2) 教室借用:学生可以借教室,即获得教室在某段时间的使用权,办讲座,开展社团活动等等。 3) 教室查询:学生可以查询相关教学楼相关教室的信息以及该教室在每天任一时段的使用情况,或者有课,或者有讲座、或者有活动等等。这个功能以便使同学能更好地了解教室及其使用情况。

4) 教师查询:学生可以查询相关院系相关教师的个人信息以及开课信息,以便能更好地了解教师及其开课情况。

5) 课程查询:学生可以查询某一课程的详细信息,如同一课程可以有多个教师开课,以便更好地了解任一课程的详细信息。

6) 我要自习:学生通过可以查询当天某一时段或多个时段的空闲教室,去上自习。

 题目4:医院住院管理系统

1. 系统概述

本系统用于管理医院的住院病人及其费用的管理 2. 信息要求:

病人信息,主治医生信息,病房信息,科室信息,处方信息,检验信息 3. 系统功能

– 病人住院登记

– 病人处方和检查检验项目开立 – 病人出院 – 异常处理

– 基本数据维护: 题目5:公交车管理信息系统

1. 系统概述

本软件用于管理公交线路。 2. 信息要求

公交线路信息,站点信息 3. 系统功能要求:

1) 所有公交线路在内的市区所有线路及郊区主要线路的管理、维护;同时提供精确、模糊等方式查询,并能对查询结果按不同条件排序;

2) 支持自动换乘查询,即使不输入中转地也能自动搜索出相应的出行方案; 3) 可以自行添加、修改、删除记录; 4) 提供公交运营企业的资料供网友查询;

题目6:航空售票管理信息系统

• 能用于所有航空售票处(公司、中心,点)的客户资料和购送票情况,以及乘机人明细资料管理,能对客户累计购票情况进行统计分析,具自动编号、快速查询、任意组合条件查询、客户购票统计、送票员和业务员管理、操作员权限控制和密码设置等功能,能根据任意电话号码快速定位到某一客户,并录入购票明细数据,其所属业务员功能可考核业务员的业绩情况。能制作各种客户资料报表和客户购票统计报表等,表格制作具有较强的可扩充性。

题目7:车辆管理信息系统

• 协助各单位对车辆档案、驾驶人员、车辆费用(维修费、洗车费、养路费、燃料费、停车费、保险费、年审费、过桥费等多项费用)、车辆使用和交通事故进行全面管理的系统。车辆管理资料完备,打印灵活。提供车辆综合查询系统,可以按各种查询条件查询到车辆费用明细和车辆费用合计。各种车辆资料可方便打印成自由设定的表格方式。系统配有详细的开发帮助、资料文档,操作演示图文并茂,简便易用。

题目8- 物业管理信息系统

物业管理信息系统软件是一套具备记录、查询物业小区业主信息、物业管理费用信息、水电煤气有线电视等费用信息、有线电视信息、供暖费用信息、业主房款缴纳信息,并且可以打印输出上述信息报表(月报表、季报表、年报表)的管理软件系统。 要求:

1.记录业主基本信息如:身份证号、楼号、房号、姓名、工作单位、联系电话、建筑面积等,并生成业主的综合信息表(包括所有业主有费用综合信息表、单个业主信息表);

2.记录月水电煤气抄表数据并打印业主交费通知单,包括水电煤气有线电视费通知单、供暖费通知单、物业管理费通知单;

3.记录业主交费情况并打印交费单,包括水电煤气费、供暖费、物业管理费、分期付款; 4.统计业主信息月、季和年报表,包括:物业实收费用汇总表、物业应收未收汇总表、应交未交费用业主信息表、月度房款还款名细表、单用户年度应收代款还款表。 5. 网络多用户操作,具备多人同时联网操作功能 6.异常处理

题目9-社区图书馆管理信息系统

图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于管理效率的提高 要求: (1) 读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注。 (2) 书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。

(3) 借书信息制定、输入、修改、查询,包括书籍编号、读者编号、借书日期、借书期限、备注。

(4) 还书信息制定、输入、修改、查询,包括书籍编号、读者编号、还书日期、还书期限、备注。

(5)意外处理(续借、超期赔偿、丢失赔偿、损坏赔偿等) (6)多条件查询各种信息. (7)用户权限(普通读者和图书管理员) (8)异常处理

项目10 科研项目管理

要求:在该项目中,应按照实际需求分析过程建立关系,以下关系仅供参考:

 项目信息:项目编号、项目名称、项目性质(国家86

3、国家97

3、国家自然科学基金、横向等)、项目类型(软件技术、规范设计、计算机应用)、项目总费用(单位:千元)、项目状态、开始日期、状态、结题日期、费用余额。  科研单位:单位编号、单位名称、单位性质(高校、研究所、企业等)、联系人、电话号码、电子信箱;  项目管理:项目编号、单位编号、合同编号(允许多个单位联合承担一项项目);  项目费用管理:项目编号、下拨费用、时间。

题目11-进销存管理信息系统

• 是流程较为完整的中小型商业企业信息管理系统,包括企业的客户信息、供应商信息、银行资料信息、采购管理、销售管理、库房管理、报表管理、应收应付、报表统计、利润统计和异常处理一等一系列企业业务全方位的解决方案。 •

题目12-车辆管理信息系统

• 协助各单位对车辆档案、驾驶人员、车辆费用(维修费、洗车费、养路费、燃料费、停车费、保险费、年审费、过桥费等多项费用)、车辆使用和交通事故进行全面管理的系统。车辆管理资料完备,打印灵活。提供车辆综合查询系统,可以按各种查询条件查询到车辆费用明细和车辆费用合计。各种车辆资料可方便打印成自由设定的表格方式。系统配有详细的开发帮助、资料文档,操作演示图文并茂,简便易用。 项目13 房屋交易管理

要求:在该项目中,应按照实际需求分析过程建立关系,以下关系仅供参考:

 房屋信息:房屋编号、房屋名称、房屋装修(未装修、简易装修、普通装修、豪华装修)、房型、房屋性质(新房、二手房)、房屋面积、售价、奉送项目;

 客户信息:客户编号、姓名、单位或国籍、性别、年龄、身份证号;

 交易信息:房屋编号、客户编号、时间、成交价、交易费用、状态

项目14 计算机学院会议室管理系统

项目15 小区停车管理系统

第四篇:计科2008级 数据库课程设计题目

题目1高校教务管理系统(4人)

某高校有若干系,每系又分为若干专业,每系有若干学生和教师。学生被分在若干班级中,一个学生只能属于一个班级,一个班级的学生都是一个专业的;教师则被分在不同的课程组,一个教师可以属于多个课程组,某个课程组的老师才有资格讲授该门课程。学生须在大学四年中修满规定的学分,其中有一部分为必修课,另一部分是选修课;必修课以班级为最小单位安排上课教室及上课老师,多个班级可以安排在一个教室上课。每个专业都有自已的培养计划,规定该专业的学生应在大学四个学年或8 个学期中修完哪些必修课,并在指定的选修课修满选修学分。该计划同时指定了这些必修课或选修课所开设的学期。所有教学活动均在教室进行,但上机与实验则在机房或实验室进行。不同的教室、实验室或机房可容纳不同的人数。有的教室有多媒体设施,有的没有。有的课程必须在多媒体教室完成教学,有的则不然。

根据上述描述,设计并开发一个教务管理系统,功能至少包括:

学生、教师、课程、专业、教室等信息管理;

培养计划的制订;

排课系统;

选修课的选修系统 (先有课表,然后方许学生选修);

成绩登记系统 (只有任课老师才有权登记该门课程的成绩,但只能在该课程结束后一个月内登记,登记完毕后,任课老师要给予确认,此后再不能修改。在一个月快要结束的前一个星期,教务管理员应收到提醒,得知哪些老师尚未完成成绩的登记,以便电话通知这些任课老师);

成绩的统计、查询与打印(单人、单科、班级等成绩的打印);

学分的查询与统计;

根据需要的其它功能;

题目2图书销售系统(4人)

图书销售系统提供给书店包括图书编目、进退货、销售、财务报表等方面的一体化解决方案。同时还提供会员折扣功能,B/S 模式下的网上会员系统等。 功能包括:

图书零售购买:顾客购书后收银台进行结账。对于书店的会员可以提供相应的折扣。输入需要购买的图书和数量,计算出总金额,由用户选择使用现金或会员卡进行结账。并提供销售小票流水号作为销售的单据。对于会员,还要计算相应的积分。

图书零售退货:顾客对已购买的图书进行退货。需要提供图书和销售的小票以作为购买凭证。系统查询数据库进行数据验证,对符合要求的图书进行退货。

新书编目:书店从出版社购买新的图书后在这里进行编目。只有编目后的图书才可以进行销售。

图书查找:可以使用ISBN、书名、作者、出版社等多种方式进行查找已编目的图书。

图书资料修改:对已编目的图书修改图书的基本信息、零售价和最低折扣价。 图书进货:对已编目的图书再进货,同时处理其金额差异。

图书退货:对已编目的图书退货,同时处理其金额差异。

出版社管理:添加、删除、修改出版社,同时查询出版社的资料。

会员添加:添加新的会员,同时登记会员的基本信息、有效期、指定会员组等。 会员查找:提供会员编号、身份证号、会员姓名等方式复合查询。

会员删除:删除已存在的会员。

会员信息修改:对会员的基本资料进行修改。

会员充值:向会员的虚拟账户充值。

挂失与特别处理:将会员的状态在正常、挂失、特别处理之间调整。也可以找回会员的密码。

会员组管理:添加、删除和列出会员组。可以对会员组的名称、折扣、积分换算等方面进行设置。

系统设置:添加、删除、修改系统操作员,同时为相应的操作员设置其控制权限。

密码修改:对当前的系统操作员的密码进行修改。

数据管理:提供系统数据库的备份与恢复。

报表处理:提供图书销售单、图书进货单、会员列表、出版社列表、销售单等报表。

题目3自来水公司水费管理系统(3人)

某市自来水公司负责该市所有民用和工业用水的供应,并负责水费的收取。工业用水与民用水采取不同的收费标准。无论工业用水或民用水均一月抄表一次,原则上每月收费一次。由于抄表的工作量较大,并不能保证两次抄表期间正好跨度一个月,因此以每月抄表的期间为当月收费期间。工业水费都由单位缴纳。民用水费有的由个人缴纳,有的由单位或住宅小区统一缴纳(然后单位再从职工工资中扣取,或由小区物业代收)。水费有的是由单位代理人或个人在收费大厅缴纳,有的由收费人员上门收取,再上缴财务。收费应当出具收费凭证(发票)。偶有单位或个人多个收费期间并缴现象,此时,可按收费期间出具多张收费凭证。对拖欠水费超过一定额度的出打印催缴通知。

根据上述描述,设计与开发一个自来水收费管理系统。功能至少

包括:

水费帐户的建立;

帐户初始化;

水表期末数的读取;

水费帐单的建立;

催缴通知;

水费收取与发票打印;

水费查询、统计与报表;

根据需要的其它功能。

单位和个人可在网上查询本单位或本人缴费情况和欠费情况,以及缴费历记录。

题目4银行储蓄管理系统(3人)

某储蓄所接受定期和活期储蓄业务,储户采用实名存款,需登记真实姓名,并

出具身份证号码。储户可以办理多个存折。系统除了管理存取款业务外,还应管理储蓄所每天的业务交接与对帐、扎帐业务。储蓄所每天上班前可能接受运钞车送来的现金,下班时则将所内现金送回金库,零星款项也可能留在所内。每天下班前都要盘点每个营业员准备金、收取储户的存款、支付储户的取款以及缴回的余款,以验证帐目的正确。这些比较记录除了存储数据库外,都将打印凭证,交由当事人签字后存档。储户存款依法支付扣税后利息,定期存款依照到期日计息,活期存款在每年的6 月30 日计息(以存款天数计算)。此外,某个单位可能为本单位职工在该银行办理了工资卡,应予以考虑本项业务。客户存折或卡丢失后,可以申请挂失,挂失后该帐户即被冻结,直到储户补办新折或卡后。

根据上述描述,设计并开发一个储蓄管理系统。功能至少包括:

开户、销户、挂失等管理;

存款(包括活期存款和定期存款);

取款(包括活期取款、定期到期取款和定期提前取款);

转帐(一次转帐可以从一个帐户资金转到多个帐户,一如代发工资的情况)。 储户可以通过网络查询自已的帐户信息;还可以通过网络挂失。

查询、统计与报表(如查询交易历史);

其它管理功能。

题目5个人信息管理系统(3人)

设计一个个人信息管理系统,包括一下信息:

1. 通讯录信息:包括通讯人姓名、联系方式、工作地点、城市、备注等。

2. 备忘录信息:包括什么时间、事件、地点等。

3. 日记信息:包括什么时间、天气、事件等。

4. 个人财物管理:包括总收入,消费项目、消费金额、消费时间、剩余资金。 系统要实现下列操作

根据相应的用户名密码,显示相应的所有记录。如果没有对应的UID或PWD和UID不对应则报错。显示用户的通讯录具体内容,可以查询联系人的资料和添加新的联系人。显示用户的日记本,供用户查阅和编写。若日记较长,窗口能显示部分信息。双击窗口能显示日记详细内容显示用户的财务信息,记录新的收支信息。计算出用户的总收入,总支出,和剩余金额。显示用户的备忘录内容,提醒用户重要事件的时间地点。用于注册新用户。若新用户的用户名已经存在,则报错。

题目6教务管理系统(3人)

背景资料:

某大学的某个学院下设若干系,每个系包含一个或几个班级,每个系有若干名教师。每个班级有若干名学生。教师每学期讲授多门课程,每门课程每学期由一名教师讲授。负责教务工作的教师的日常工作包括:

1、 每学期开始时打印每个系的每个班级的基本信息(班名,入学时间,班长等)以及学生的基本状况报表,包括每个学生的基本信息(学号、姓名、性别、出生日期、照片等)和联系方式,如宿舍号,电话,E-MAIL地址等。

2、 每学期重新打印一份教师名单,包含教师的基本信息,以及便于联系

等方面的信息(工作证号码、姓名、性别、出生日期、职称,职务,办公室房间号,电话号码)。假设每个教师的办公室房间号有一个,不同的教师也可以有相同的房间号。每个教师可有多个联系电话。

设计要求:

(1)进行需求分析,编写数据字典。

(2)设计E-R图。

(3)采用友好的界面对系、班级、学生、教师、课程、选课等内容进行增、删、改。

(4)具有方便的查询功能,例如,对于学生,可以按照学生的学号、姓名、年龄、性别、系别等属性的任意组合条件进行查询。同样为课程以及选课等内容进行查询。

(5)具有丰富的报表统计功能,例如,对于学生选课信息,可以进行如下报表汇总操作:

1) 打印出某学生某学期所选修的全部课程的学分,学时以及成绩。

2) 打印出某教师所讲授的全部课程的信息。

3) 打印出某班某学期所有学生按总成绩降序列出的学号、姓名以及总成绩报表。

4) 打印出各系具有的各级职称的教师人数。

5) 打印出该学院所开设的各门课程的名称、学时以及先修课的名称和学时。

题目7房屋中介管理系统(3人)

背景资料:

某房屋中介公司拥有多名职员分管不同业务,公司与多名房主具有业务联系,每个房主在委托房屋中介公司进行房屋的出租或出售时都要填写一张表格,说明房屋的地址、面积、朝向、类别以及价格等相关信息。需要租住或购买房屋的客户在向中介公司寻求服务时,也需要登记需要租住或购买的房屋的细节要求。职员负责与客户约定时间,并陪同客户看房,若客户看中房屋,公司将记录客户购买或租住房屋的合同的相关信息。试为此公司设计一个数据库应用系统。

功能要求:

(1)管理公司职员的基本信息,以及所进行的业务信息,如联系客户、陪同客户看房的信息

(2)登记房屋、房主以及客户的信息,并能进行方便地增、删、改。

(3)方便房主查询所需要的房屋的查询功能。

(4)统计待租或待售的房屋信息等。

题目8产品生产与销售管理系统(3人)

背景资料:

某家具公司生产和销售多种家具产品。公司拥有多个生产家具的车间,每个车间有多名工人,负责生产多种产品。客户可在公司下设的多个销售点购买家具,所购买的家具记录在订单中,销售点根据订单向客户运送家具。请根据如上

应用环境,为该公司设计和实现一个产品生产与销售管理系统。

功能要求:

(1)记录公司的产品和工人的基本信息,并能进行方便的增、删、改。

(2)记录公司的每个销售点、客户以及每个订单的信息。

(3)对工人、产品、客户以及订单等信息进行多条件任意组合查询。

(4)统计产品的销售信息。

题目9教师工资管理系统(3人)

背景资料:

(1)某学校现有100名教职工,按职称分为教授、副教授、讲师、助教。(可根据本人所在学校实际情况确定具体名额。

(2)工资由基本工资、福利津贴和奖励工资构成,失业保险和住房公积金在工资中扣除。

(3)该学校基本工资是根据教师职称等级分配工资数额,其余无差别。

(4)每位教师的基本资料有姓名、性别、年龄、职称。

(5)工资按月发放,实际发放的工资金额为工资减去扣除。

以上信息可供参考,学员可根据本人所在学校具体情况设计。

设计要求:

(1)进行需求分析,编写数据字典。

(2)设计E-R图。

(3)实现个人的基本资料、工资和扣除金额数据的录入。

(4)计算个人的实际发放工资。

(5)按职称分类统计人数和工资金额。

(6)实现分类查询。

(7)能够删除辞职人员的数据。

题目10学生学籍管理信息系统(3人)

学生学籍管理工作包括学生档案、学籍、成绩、升学等内容的管理;面对大量的学生数据、报表,手工处理方式已经很难跟上现代化的步伐。随着计算机技术及网络通讯技术的飞速发展,许多学校已经有了较好的计算机应用甚至网络硬件建设基础。因此为提高学校管理工作的现代化、科学化水平,保证信息处理的即时化、准确化,开发一套对学生学籍进行管理的软件是极其重要的。

应完成的主要功能:(1)学生档案的管理,即录入、修改、查询、输出学生档案信息,这些信息包括学生基本情况、学生简历情况、学生奖励情况、学生处分情况、学生家庭信息、学生体检情况。(2)学生学籍管理,录入、修改、查询、输出学生学籍信息,这些信息包括学生奖贷学金情况、学生注册、学生异动情况、学生军训情况、学生毕业情况。(3)学生成绩管理,录入修改、查询、输出学生入校成绩,各学期、各门课程的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。

第五篇:《数据结构课程设计》课程设计教学大纲

Course Design of Data Structure

课程代码:

适用专业:信息计算、信息安全 总学时数:1周

编写年月:2004年7月

执 笔:刘科峰、李小英、高学军

课程性质:设计(论文)/必修 开课学期:5 总学分数:1 修订年月:2007年7月

一、课程设计的性质和目的

《数据结构课程设计》是本学院本科专业的集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合应用练习。其目的就是要达到理论与实际相结合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养良好的程序设计技能。

二、课程设计内容及学时分配

写出不少于3000字的课程设计说明书。说明书中除了在封面中应有题目、班级、姓名、学号和课程设计日期以外,其正文一般有如下几个方面的内容:

1. 需求分析 2. 概要设计 3. 详细设计 4. 调试分析 5. 测试结果 6. 附录或参考资料

三、课程设计教学基本要求

四、课程设计选题

根据教材《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,或选择下列与实际应用紧密结合的较综合性的题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。

1. 运动会分数统计系统; 2. 停车场管理系统; 3. 民航售票系统; 4. 有理数四则运算器; 5. 文本格式化器; 6. 哈夫曼编/译码器; 7. 教学计划编制; 8. 计算机辅助考核系统;

9. 学籍管理系统; 10. 图书管理系统。

五、本课程与其它课程的联系与分工

本课程是《数据结构》的配套课程,学完《数据结构》后进行的综合性课程设计。

六、成绩评定

由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中的工作态度等综合打分。课程设计结束时,要求学生写出课程设计报告,可运行的软件系统(包括源程序)。课程设计成绩:上机情况(20%)包括出勤情况、调试表现。设计报告占40%,设计作品占40%。

成绩评定实行优、良、中、及格和不及格五个等级。优秀者人数一般不得超过总人数的20%。不及格者不能得到相应的学分,需重新做课程设计,经指导教师考核及格后,方可取得相应学分。有关的考查相关材料(文字材料以及磁盘或光盘)统一妥善保管。

七、建议教材与教学参考书

[1] 《数据结构》,严蔚敏 吴伟民 编著,清华大学出版社

[2] 《数据结构题集》严蔚敏 吴伟民 米宁 编著,清华大学出版社

上一篇:上级领导职代会讲话稿下一篇:省级龙头企业申报资料

本站热搜