| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

车牌号管理系统数据结构课程设计报告

文***享

贡献于2021-08-25

字数:8786


XX 学 院 计算机工程学院
课程设计报告

设计名称: 数结构课程设计
选题名称: 车牌号理系统
姓 名: 学 号:
专业班级: 软件工程
系 (院): 计算机工程学院
设计时间: 20111219~20111230
设计点: 软件工程实验室教室

成绩:
指导教师评语:











签名:
年 月 日


1.课程设计目
1训练学生灵活应学数结构知识独立完成问题分析结合数结构理知识编写程序求解指定问题
2初步掌握软件开发程问题分析系统设计程序编码测试等基方法技
3提高综合运学理知识方法独立分析解决问题力
4训练系统观点软件开发般规范进行软件开发巩固深化学生理知识提高编程水程中培养严谨科学态度良工作作风


2.课程设计务求:

根教材数结构C语言描述(耿国华编)参考书数结构题集(C语言版)(严蔚敏吴伟民编)选择课程设计题目求通设计数结构逻辑特性物理表示数结构选择应算法设计实现等方面加深课程基容理解综合运
设计题目务书列选题表中选取班题超2
学生选课题
学生原结合爱选课题求课题定深度难度定算法复杂性够巩固数结构课程学知识学生选课题需18周前报课程设计指导教师批准方生效
求:
1处理题目时求分析题目需求入手设计抽象数类型构思算法通设计实现抽象数类型编制机程序机调试等干步骤完成题目终写出完整分析报告前期准备工作完备否直接影响序机调试工作效率程序设计阶段应量利已标准函数加代码重率
2设计题目求达定工作量(300行代码)具定深度难度
3程序设计语言推荐CC++程序书写规范源程序需加必注释
4位学需提交独立运行程序
5 位学需独立提交设计报告书(份)求编排格式统规范容充实少10页(代码算)
6课程设计实践作培养学生动手力种手段单独考核




3.课程设计说明书
需求分析
1.功需求:
程序利基数排序思想批具结构特征汽车牌进行排序利二分查找思想排序汽车牌进行查找
2.性需求:
运行程序时输入组求数求操作进行排序查询时程序查找匹配数输出该关键字信息
3.数需求:
数包括3项分牌号码车型号车姓名中牌项输入形式01B7328前两位代表区字母代表车类型四位代表车号查询时求输入正确车牌号码

二 概设计
1.设计静态查找表抽象数类型
ADT RecordType{
char name[20] 车名字
char carname[20] 车名
KeyType key[7] 子关键字
} ADT RecordType
ADT SLinkList{
数元素:关键字RecordType类型数组存放车牌号
数间关系线性关系
}
2程序包含三模块
程序中容
Void main
{
1初始化加入数
2遍历表
3.排序
4.折半查找
5退出
}

系统中子程序功求
1Void Distribute(RecordType r[]int ipvector headpvector tail)
记录 数组r中已低位关键字key[i+1]…key[d]进行低位优先排序算法 第i关键字key[i]建立10队列队列中记录key[i]相Head[j]tail[j]分指队列中第记录(j012…9)head[j]0表示相应队列空队列
2Void collect(RecordType r[]pvctor headpvctor tail)
算法09扫描队列非空队列首尾相接重新链接成链表
3Void RadixSort(Record r[]int length)
Length 记录存放数组r中执行算法进行基数排序链表中记录关键字序链接
5 void arrange(SLinkList *l)
静态表进行整序
6int search_bin(SLList lchar key[])
二分查找
7 void GetData(SLinkList *L)
键盘获数
8 void SLListTraverse(SLinkList *L)
遍历静态表
9 int Equal(char key1[]char key2[])
判断相等
10 int Little(char key1[]char key2[])
判断较
模块间调关系
函数调(35)678
3调12
6调 910
三 详细设计
函数
void Distribute_n(RecordType r[]int ishuzi headshuzi tail) 数字分配
{
int jp
for(j0j<队列数j++) 初始化队列
{
队列头指针0全部0
列尾指针0全部0
}

p第数数组中位置
while(第数数组中位置0)
{
j第数第i位第队列

if(头指针0)
头指针第数载表中位置 else
该队列已数位置p 否该数静态链表中位置放队列数
尾指针p tial[j]该数静态链表中位置
p数位置值
}
}
void Collect_n(RecordType r[]shuzi headshuzi tail) 收集重新构成链表
{
int j0t
while(head[j]0)
++j 找第空队列
r[0]nexthead[j]ttail[j] head[j]第数位置
while(j<9)
{
++j
while((j<9)&&(head[j]0)) 找0队列
++j
if(head[j]0)
{
r[t]nexthead[j]
ttail[j]
}
}
r[t]next0 数next0
}
void radixsort(SLinkList *l) 基数排序
{
int nl>length 数组长度
zimu headtail
shuzi headstails
for(int i0i l>r[i]nexti+1 初始化静态链表确定静态链表元素位置
l>r[n]next0 数next等0
for(i6i>2i)
{

Distribute_n(l>riheadstails) 调分配函数
Collect_n(l>rheadstails) 调收集函数
}

Distribute_c(l>r2headtail) 调分配函数
Collect_c(l>rheadtail) 调收集函数

for(i1i>0i)
{
Distribute_n(l>riheadstai 调分配函数
Collect_n(l>rheadstails) 调收集函数
}
}
void arrange(SLinkList *l) 整序
{
int pq
RecordType buf 建立中间变量
p第元素表中位置 p指第元素表中位置
for(int i1i<表长度i++)
{

while(p q第p元素数表中位置
if(pi)
{
buf第p元素址
第p元素址第i元素址 交换第i元素址第p元素址
第i元素址buf
第i元素数表中位置p
}
pq
}
}
void GetData(SLinkList *L) 获数
{
char key'0'
int j1
cout<<请输入车牌号码车名车名'#'结束< cout<<例 01B3456< cout<<车牌号
for(int i0i<7i++)
{
cin>>key 输入数
第数车牌号码key
}
cout<<车名
cin>>第数车名
cout<<车名
cin>>第数车名
while(key'#')
{
j++
cout< for(int i0i<7i++)
{
cin>>key 输入第j数车牌号码
if(key'#') {jbreak}
第j数车牌号码key
}
if(key'#') break
cout<<车名
cin>>L>r[j]carname
cout<<车名
cin>>L>r[j]name
}
L>lengthj
}
int binsearch(SLinkList *Lchar s[7]) 折半查找
{

int k0sum0ss0midhighlow1
highL>length
while(low {
mid(high+low)2
if(Equal(sL>r[mid]key))return(mid) 调判断相等函数
else if(Little(sL>r[mid]key))highmid1 调较函数
else lowmid+1
}
return(0)
}



四 设计调试分析
1车牌号理
11 初始化输入数车牌号码车名车名键盘输入需数

车牌号:20W4521 车名bmw 车名 zzx
车牌号:11F4587 车名lanbogine 车名 zzp
车牌号:55F1254 车名benz 车名 xcl


初始化成功
12表中容输出

遍历成功
车牌号:20W4521 车名bmw 车名 zzx
车牌号:11F4587 车名lanbogine 车名 zzp
车牌号:55F1254 车名benz 车名 xcl
输入结果致
13车牌号进行排序基数排序方法

11F4587 lanbogine zzp
20W4521 bmw zzx
55F1254 benz xcl
预期结果致
14折半查找需车牌号码输出车牌号码车车名

预期结果致查找成功
15退出
五 户手册
1运行程序首先出现界面选项初始化表加入数选项二遍历表选项三车牌号排序选项四查找选项五退出运行查找前定进行排序折半查找先进行排序
2输入数输入车牌号码例01B3456车姓名车名字
3遍历序输出数
4基数排序方法进行排序
5查找输入查找车牌号码查找成功返回需车牌号车名车名没信息返回没车牌号
六 测试成果




七 附录(源程序清单)
#define KEY_SIZE 7
#define LIST_SIZE 10
#include
using namespace std
typedef struct{
char key[KEY_SIZE]
char name[10]
char carname[20]
int next
}RecordType
typedef struct{
RecordType r[LIST_SIZE]
int length
int keynum
}SLinkList
typedef int shuzi[10]
typedef int zimu[26]
void InitSLList(SLinkList *L) 链表初始化

{
L>length0
L>keynum7
}
void Distribute_n(RecordType r[]int ishuzi headshuzi tail) 数字分配
{
int jp
for(j0j<9j++)
{
head[j]0
tail[j]0
}

pr[0]next
while(p0)
{
jint(r[p]key[i]'0')

if(head[j]0)
head[j]p
else
r[tail[j]]nextp
tail[j]p
pr[p]next
}


}


void Distribute_c(RecordType r[]int izimu headzimu tail) 字母分配
{
int pj

for(j0j<25j++)
{
head[j]0
tail[j]0
}

pr[0]next
while(p0)
{
jint(int(r[p]key[i])'A')
if(head[j]0)head[j]p
else r[tail[j]]nextp
tail[j]p
pr[p]next
}
}
void Collect_n(RecordType r[]shuzi headshuzi tail) 收集重新构成链表
{
int j0t
while(head[j]0)
++j
r[0]nexthead[j]ttail[j]
while(j<9)
{
++j
while((j<9)&&(head[j]0))
++j
if(head[j]0)
{
r[t]nexthead[j]
ttail[j]
}
}
r[t]next0
}

void Collect_c(RecordType r[]zimu headzimu tail) 字母类型收集重新构成链表
{
int j0t
while(head[j]0)
++j
r[0]nexthead[j]ttail[j]
while(j<25)
{
++j
while((j<25)&&(head[j]0))
++j
if(head[j]0)
{
r[t]nexthead[j]
ttail[j]
}
}
r[t]next0
}
void radixsort(SLinkList *l) 基数排序
{
int nl>length
zimu headtail
shuzi headstails
for(int i0i l>r[i]nexti+1
l>r[n]next0
for(i6i>2i)
{

Distribute_n(l>riheadstails) 调分配函数
Collect_n(l>rheadstails) 调收集函数
}

Distribute_c(l>r2headtail) 调分配函数
Collect_c(l>rheadtail) 调收集函数

for(i1i>0i)
{
Distribute_n(l>riheadstails) 调分配函数
Collect_n(l>rheadstails) 调收集函数
}
}
void arrange(SLinkList *l) 整序
{
int pq
RecordType buf
pl>r[0]next p指第记录前位置
for(int i1ilengthi++)
{

while(pr[p]next 找第i记录p指示表中前位置
ql>r[p]next
if(pi)
{
bufl>r[p]
l>r[p]l>r[i]
l>r[i]buf 交换pi
l>r[i]nextp 移走记录while循环找回
}
pq
}
}
void GetData(SLinkList *L) 获数
{
char key'0'
int j1
cout<<请输入车牌号码车名车名'#'结束< cout<<例 01B3456< cout<<车牌号
for(int i0i<7i++)
{
cin>>key
L>r[1]key[i]key
}
cout<<车名
cin>>L>r[1]carname
cout<<车名
cin>>L>r[1]name
while(key'#')
{
j++
cout< for(int i0i<7i++)
{
cin>>key
if(key'#') {jbreak}
L>r[j]key[i]key
}
if(key'#') break
cout<<车名
cin>>L>r[j]carname
cout<<车名
cin>>L>r[j]name
}
L>lengthj
}
void SLListTraverse(SLinkList *L) 遍历静态表

{
int ij
cout< cout<<车牌号<< <<车名<< <<车名<
for(i1ilengthi++)
{
for(j0j<7j++)
cout<r[i]key[j]

cout<< <r[i]carname<<
cout<r[i]name< }
}
int Equal(char key1[]char key2[]) 判断相等

{
for(int i0i<7i++)
{if(key1[i]key2[i]) return 0}
return 1
}

int Little(char key1[]char key2[]) 判断较

{
for(int i0i<7i++)
{
if(key1[i] else if(key1[i]>key2[i]) return 0
}
return 0
}


int binsearch(SLinkList *Lchar s[7]) 折半查找
{

int k0sum0ss0midhighlow1
highL>length
while(low {
mid(high+low)2
if(Equal(sL>r[mid]key))return(mid)
else if(Little(sL>r[mid]key))highmid1
else lowmid+1
}
return(0)
}




void main()
{
int i
SLinkList l

do
{
cout<<请选择 1初始化表加入数 2遍历表 3车牌号排序 4折半查找(必须先排序) 5退出 < cin>>i
switch(i)
{
case 1InitSLList(&l)
GetData(&l)
break
case 2SLListTraverse(&l)break
case 3radixsort(&l)
arrange(&l)
SLListTraverse(&l)
break
case 4
int find
char s[7]
cout<<请输入查找车牌号码< cin>>s
findbinsearch(&ls)
if(find)
{
cout<<表中位置< cout<<车名
cout< cout<<车牌号码
for(int i0i<7i++)
cout< cout< cout<<车名
cout< }
else cout<<没车牌号< break
case 5break
}

}while(i5)

}





4课程设计心
次课程设计选择车牌号理系统功少两功排序查找排序基数排序方法种关键字排序
查找二分查找然程序容少似简单基数排序难排序理解久弄懂排序非常典排序思想时候感觉排序实绝排序方法排序方法较移动关键字较关键字中子关键字位关键字开始较果数字根关键字中组子关键字分放入十队列中果字母类似放入二十六队列中收集函数队列首尾相连重新构成链表反复调函数会形成序静态链表时静态链表逻辑结构中序储存结构中序进行次整序链表真正序调试程中参考书中代码图书馆中相关书籍程序进行进步调整完成代码调试
折半查找中调较判断相等函数根书折半查找算法进行改进成功
次课程设计中重点掌握基数排序折半查找进行定改进遍历便写行通次课程设计排序方法种认识种理解程序握更加准确增加编程力数结构门课程更深认识更加努力学相关知识弥补方面足缩差距


文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

数据结构课程设计报告——图书管理系统

课程设计报告 课设课题: 课程设计——图书管理系统 学 院: 电 子 信 息 学 院 专 业: 网 络 工 程 姓 名: 班级学号: 指导教师:

文***享 3年前 上传677   0

高校教材管理系统数据结构课程设计

数据结构课程设计题 目: 高校教材管理系统 课 程 设 计 任 务 书一、课程设计题目: 高校教材管理系统 二、课程设计应解决的主要问题: (1) 实现出版社、教材类型等的管理

文***品 3年前 上传771   0

设计散列表实现电话号码查找系统数据结构课程设计

XX学院课程设计报告书专 业:计算机科学与技术 课程设计名称:《数据结构课程设计》题 目:设计散列表实现电话号码查找系统班 级: 学    号: 姓    名: 同 组 人 员: 无指 导 老 师: 完 成 时 间: 摘要电话号码的查找系统软件是现在很实用工具,随着时代的发展,信息化得发

文***品 2年前 上传576   0

c++超市管理系统课程设计报告

c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在,只需修改存货数;若不存在,需增加新纪录。B、售出:输入商品编号,修改相应的存货数与销售额。C、查询:查询商品,销售额。

文***品 2年前 上传538   0

某中学的排课管理系统课程设计报告

学号《某中学的排课管理系统》课程设计报告题目:某中学的排课管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年X月X日目录一、 设计内容及要求 21.1研究的目的和意义 21.2数据字典 21.3全系统的数据项 31.4数据流图 4二、 概要设计 42.1E-R图 4学生实体E-R图 42.

文***享 1年前 上传283   0

物业管理系统课程设计报告

物业管理系统课程设计报告目 录第一章 前 言 11. 物业管理系统研究的意义 12. 数据库开发简介 13. asp.net简介 2第二章 数据库设计 31.选择数据库管理系统 32.数据流图 32.1 住户管理 32.2 财政管理 32.3 设备管理 42.4 投诉信息管理 42.5 物业管理 52.6系统功能结构图 53.数据字典 63.1数据项

文***享 3年前 上传860   0

教务管理系统数据库课程设计报告

 《数据库原理》课程设计报告课程名称: 《数据库原理》课程设计 设计题目: 《教务管理系统》 指导教师: 班 级:   学 号: 学生姓名:

文***享 1年前 上传260   0

车辆管理系统实验报告课程设计

 成绩: 《C++程序设计实践》报告专 业: 软件工程 班 级: 学 号: 姓 名: 日期:2016年 X月 X日目录一、设计目的 1二、总体设计 2三、 详细设计(以c

z***u 10个月前 上传267   0

数据结构和算法课程设计题目

XX大学课程设计课程名称: 数 据 结 构 与 算 法院(部)名 称: 信息与计算科学学院组长姓名学号 同组人员姓名指导教师姓名: 设 计 时 间: 2010.6.7----2009.6.27一、《数据结构与算法》课程设计参考题目(一)参考题目一(每位同学选作一个,同组人员

文***品 11个月前 上传375   0

算法与数据结构的商品货架管理课程设计报告(还有程序源代码)

课程设计课 程: 算法与数据结构 题 目: 商品货架管理 专 业: 计算机类 班 级: 座 号: 姓 名: 2012年 X月 X 日一、要解决的问题商店货架以栈

文***品 1年前 上传321   0

数据结构课程设计报告最小生成树Kruskal算法

计算机科学与技术系课程设计报告 2014-2015学年第二学期课程数据结构课程设计名称Kruskal算法求最小生成树学生姓名 学号 专业班级 软件工程指导教师 2014年X月题目:设计程序完成如下功能:对给定过的网和起点,用kruskal算法的基本思想求解其所有的最小生成树1、问题分析和任务定义根据课设题目要求,拟将整体程序分为三大模块

文***品 1年前 上传201   0

哈夫曼树应用数据结构课程设计报告

数据结构课程设计报告设计题目:哈夫曼树应用 专 业 : 软件工程 班 级 : 软件 学 生 : 学 号 : 指导教师 : 起止时间 :2011-07-04—2011-07

文***品 2年前 上传465   0

数据结构课程设计报告n维矩阵乘法

设计一个矩阵相乘的程序,首先从键盘输入两个矩阵a,b的内容,并输出两个矩阵,输出ab-1结果。

文***品 4年前 上传704   0

软件项目管理之学生管理系统课程设计

 课程设计课程名称:软件项目管理 设计题目:学生管理系统项目工作计划 学 院:信息工程与自动化学院 专 业:计算机科学与技术 年 级:2008级 学生姓名:

文***享 1年前 上传397   0

教师管理系统(数据库)课程设计

数据库技术与应用(SQLServer2005)课 程 设 计题 目教师管理系统 组 员 班 级计科班学 院信息科学与工程学院指导教师 2012年 X 月 X 日任务分配表第 ** 组学号姓名负责部分成绩组长 完成需求分析、概念逻辑结 构设计和运行、维护

文***品 3年前 上传1296   0

基于UML的图书管理系统设计课程设计

滨江学院 统一建模语言课程设计报告( 2013 -- 2014 年度第 二 学期)课程名称: 统一建模语言课程设计 题 目: 图书馆管理系统 院 系: 计算机系 班 级: 学 号: 姓 名:

文***品 1年前 上传390   0

物流管理信息系统课程设计

湖南长沙家润多超市是由全国零售业前十强企业湖南友谊阿波罗股份全资控股的子公司。公司的第一家门店于2000年9月28日在长沙市朝阳区开业,至今在湖南省拥有家润多朝阳店、千喜店、赤岗冲店、常德店、益阳店、岳阳店、浏阳店、吉首店、衡阳店、郴州店等多家大型超市。家润多超市从2000年10月开始在其供给商中间推广9448-SCM供给链管理解决方案。家润多的供给商可通过9448网站的供给链管理平台,共同分享销售、库存、结算等商业数据,共同进行品类分析和管理。该平台在家润多超市1352家供给商中,推广率到达91%。该平台不仅帮助家润多超市节省了大量的结算人力,也让供给商体会到了网络技术带来的便捷。

0***狗 2年前 上传648   0

考勤管理系统课程设计

考勤管理系统课程设计一、背景 2二、可行性分析 22.1技术可行性 22.2 经济可行性 22.3 操作可行性 22.4结论意见 3三、需求分析 33.1功能需求 33.2 性能需求 33.3 全局分析 43.4系统现状 43.5系统功能结构 53.6系统业务流程图 53.7系统数据流程图 63.8数据字典 6四、总体设计 74.1数据库 74.2系统窗口 8

z***u 2年前 上传413   0

MySql数据库课程设计(学生管理系统)

XX大学数据库课程设计报告 系 院 应用科学学院 年 级 2013级 专 业 信息与计算科学 学 号 学 生 姓 名 XXXXXX

文***品 2年前 上传669   0

学生成绩管理系统设计课程设计

学生成绩管理系统设计目 录引言 1 系统概述 1.1 系统功能

z***u 1年前 上传333   0

医院管理系统数据库课程设计

医院管理系统数据库课程设计内容摘要数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户

z***u 1年前 上传425   0

图书馆图书管理系统课程设计

 课程设计 (图书馆图书管理系统) 指导老师: 班 级:能动 姓 名: 学 号: 20XX年X月X日 图书管理系统实例 一、系统简介 1、本图书管理系统,包含了对图书、作者、读者等基本信息的管理,也包含了借书信息,还书信息等的查

文***品 5年前 上传1608   0

超市管理信息系统课程设计

XX大学商学院课程设计总结报告 实习课程 管理信息系统设计 设计课题 鲜果屋超市进销存管理信息系统设计 小 组 经管第组 小组成员: 姓 名 学 号姓 名 学 号姓 名 学 号

文***品 3年前 上传806   0

C语言课程设计通讯录管理系统

 课程设计报告书 课程名称: C语言课程设计 班 级: 学 号: 姓 名: 指导老师: 设计时间:

文***品 5年前 上传2397   0

软件测试课程设计医院管理系统

成绩 课程设计报告 题 目 易非医院管理系统 课 程 名 称 软件测试课程设计 院 部 名 称 专 业 计算机科学与技术 班 级 学 生 姓 名

z***u 1年前 上传323   0