城市链表数据结构课程设计文档格式.docx
- 文档编号:14733688
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:17
- 大小:67.04KB
城市链表数据结构课程设计文档格式.docx
《城市链表数据结构课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《城市链表数据结构课程设计文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
2.存储结构设计
{
[10];
;
*;
},*;
结点类型,指针类型
3.系统功能设计
(1)创建城市链表。
有函数()实现。
调用主函数()和插入函数()来完成创建操作。
(2)查找操作。
有函数()和函数()实现。
在创建链表的基础上正向和反向查找城市的信息。
(3)插入操作。
根据用户的输入,系统自动在原有的链表中插入新的信息。
(4)删除操作。
根据用户的输入,系统自动判断是否存在该信息,若存在,就给出提示进行删除操作,否则提示不存在输入的信息。
(5)更新操作。
根据用户的输入,系统自动判断是否存在该信息,若存在,就给出替换信息,否则提示不存在该信息并返回。
(6)退出操作。
当用户选择7时即退出本系统,有主函数中的选择函数来实现。
三、模块设计
1.模块设计
本程序包含8个函数模块,其调用关系如图2所示。
图2模块调用关系示意图
2.系统子程序及功能设计
(1);
定义结构类型
(2)(*);
初始化函数操作
(3)(*);
插入函数
(4)(*);
删除函数
(5)(*);
创建函数
(6)(*);
查找城市操作
(7)(*);
根据中心坐标和距离进行的查找操作
(8)(*L更新函数
3.函数主要调用关系图
图3系统函数调用关系图
四、详细设计
1.数据类型定义
(1)源程序文件名清单:
<
>
字符串处理函数的头文件
动态存储分配实现单元
<
(2)结构类型构造
2.系统主要子程序详细设计
(1)****插入操作
(*)
{
*;
定义指针结构为型
m;
=(*)(());
生成新结点
()验证空间申请是否成功
{
("
内存分配失败\n"
);
;
若分配内存不成功,则返回继续分配。
}
("
请输入城市名称并回车:
"
指针的数据域
请输入城市坐标并回车:
Y);
将城市信息填入新节点中
(>
)
=>
;
如果非空,指针的位置向后移
}
已成功插入新城市信息!
\n"
>
=>
=;
将新节点插入链表
}
(2)****删除操作
请输入要删除的城市名称并回车:
)
您删除的城市不存在,请先创建城市!
((>
))
从指向得头结点的下一个结点开判断结点中的城市名与输入城市名是否相等。
不相等则指针下移,继续查找
->
相等则删除此节点
以成功删除此城市信息!
(3).****更新操作
(*)
请输入您要更新的城市名称并回车:
(>
您要更新的城市不存在,请先创建城市!
))
从指向得头结点的下一个结点开判断结点中的城市名与输入城市名是否相等。
当不相等则指针下移,继续查找
请输入城市新信息.\n"
输入城市新信息
请输入城市新名并回车:
请输入城市新坐标并回车:
X);
已成功更新城市信息!
(4).****正向查找操作
[30];
0;
请输入您要查找的城市名称并回车:
))
您要查找的城市不存在,请先创建城市!
已找到该城市,坐标为.2f.2f\n"
(5).****反向查找操作
{给定坐标和距离返回城市名
x;
y;
请输入中心坐标:
请输入距离:
(>
{
}
()
((>
X)*(>
X)+(>
Y)*(>
Y)<
=*)
("
已找到该城市,名称为\n"
五、测试分析
系统运行主界面如图1所示。
各子系统测试运行结果如下。
1.创建城市链表
在主菜单下,输入1并回车,根据提示进行创建城市信息。
运行结果如图4所示。
图4城市链表的创建
2.查询操作
然后返回主菜单,输入2并回车,根据提示输入查找的城市信息。
运行结果如图5所示。
图5城市查询运行界面
3.根据位置坐标和距离查询城市
在主菜单下,输入3并回车,根据提示输入查找的城市信息。
运行结果如图6所示。
图6根据位置坐标和距离进行查询
4.插入操作
在主菜单下,输入4并回车,根据提示插入城市信息。
运行结果如图7所示。
图7城市信息的插入
4.删除操作
在主菜单下,输入5并回车,根据提示进行删除城市信息操作。
运行结果如图8所示。
图8城市信息的删除
5.更新操作
在主菜单下,输入6并回车,根据提示进行城市信息的修改。
运行结果如图9所示。
图9城市信息的更新
6.退出。
在主菜单下,输入7并回车,即可退出本程序。
六、用户手册
(1)本程序执行文件为“城市链表操作系统”。
(2)进入本系统之后,随即显示系统主菜单界面。
用户可在该界面下按提示信息输入命令。
七、调试报告
(1)错误分析
调试时((>
))出现错误,显示错误为‘1'
'
'
*'
’前一个是类型不能用于函数,后将[10]
(2)创建城市链表时,输入城市信息较为麻烦,每个城市信息输入完后,若还想输入其它城市信息,则输入任意键继续,否则输入退出,所以在输入信息时需注意输入步骤,以免发生输入混乱。
(3)花了一个礼拜来弄这个程序,结果做完后,虽然能成功运行,但还是有很多,反复的调试,修改,我头都晕了,程序员真的很难做啊。
八、程序清单
字符串处理函数的头文件
****结构类型构造
****初始化操作
{建立一个带头结点的单链线性表,指向头结点
}
****插入操作
定义指针结构为型
()验证空间申请是否成功
如果非空,指针的位置向后移
将新节点插入链表
****删除操作
))
****创建选择项操作
[20];
定义输入信息类型及长度
【输入任意值后并回车,开始创建城市链表】【输入返回主菜单】\n"
当输入时,在任意输入,则退出此操作
((,"
))当输入时,再任意输入,则退出此操作
();
****更新操作
当不相等则指针下移,继续查找
请输入城市新名称并回车:
****正向查找操作
****反向查找操作
****主函数,设定界面
()
0E"
[3]={1,2,3};
();
建
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 城市 数据结构 课程设计