城市问题Word格式文档下载.docx
- 文档编号:4793737
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:9
- 大小:96.85KB
城市问题Word格式文档下载.docx
《城市问题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《城市问题Word格式文档下载.docx(9页珍藏版)》请在冰点文库上搜索。
□验证性□综合性□设计性
实验目的:
巩固链表知识,提高对链表的知识应用
实验环境:
(包括软件平台和硬件平台)
软件平台:
VC6.0++,windowsXP操作系统
硬件环境:
实验内容(应包括实验题目、算法描述、实验过程等)
实验题目:
将若干城市信息存入一个带有结点的单链表,结点中的城市信息包括城市名以及城市的位置坐标,要求:
1给一个城市名,返回其位置坐标
2给一个位置坐标P和一个距离D,返回所有与P的距离小于等于D的城市
算法描述:
程序分为三个部分,第一个是程序的入口主函数,第二个链表实现的部分
实验过程:
编写代码——程序调试——进行修改——程序运行
实验结果及分析:
界面显示如下:
输入的值为1,并输入相关城市与城市的坐标,显示出来的数据,如下:
选择的数据为2,测试如下:
选择的数据为3,进行测试,测试如下:
成绩教师签名日期
附录(可包括源程序清单或其它说明)
#include<
iostream.h>
#include<
malloc.h>
string.h>
typedefstructsNode
{
charsname[10];
structposition
{
floatx;
floaty;
}position;
}Elemtype;
typedefstructNode
{
Elemtypedata;
structNode*next;
}LNode,*LinkList;
voidinitList(LinkList*l)
*l=(LinkList)malloc(sizeof(LNode));
//初始化链表。
(*l)->
next=NULL;
}
voidreaddata(LinkListp)//输入每一个节点的数据项。
cout<
<
"
name:
;
cin>
>
p->
data.sname;
Position:
data.position.x>
data.position.y;
voidwritedata(LinkListp)//显示节点数据项。
data.sname<
endl;
data.position.x<
"
data.position.y<
voidcreateList(LinkListL)//创建链表。
inti;
LinkListp;
for(i=1;
i<
5;
i++)
p=(LinkList)malloc(sizeof(LNode));
请输入第"
城市"
readdata(p);
p->
next=L->
next;
L->
next=p;
}
voidvisitList(LinkListL)//访问链表。
p=L->
while(p)
writedata(p);
p=p->
voidgetList(LinkListL,charname[10])//给出城市名输出城市坐标。
next;
while(p)//如果输入的名称和链表中的城市名称相同那么执行循环语句。
{
if(strcmp(p->
data.sname,name))
//指针后移。
elsebreak;
if(!
p)
cout<
你查找的城市不存在!
!
else
voiddisList(LinkListL,floatx,floaty,floatz)//任给一个城市坐标,和距离显示所有小于该距离的城市名称。
intcount=0;
floatq;
q=(p->
data.position.x-x)*(p->
data.position.x-x)+(p->
data.position.y-y)*(p->
data.position.y-y);
while(p)//当链表不为空,执行while循环。
if(q<
=z*z)//如果两个城市的距离小于给定的距离则把该城市的名称输出
{
cout<
count++;
}
p=p->
if(count)
附近的城市有:
count<
个"
周围查不到少于这个距离的城市!
voidmain()
floatx,y,z;
charname[10];
LinkListL;
1输入城市名称和坐标"
2输入城市名称返回城市坐标"
3给定一个城市坐标和一个距离输出该距离内的所有城市名称"
initList(&
L);
while
(1)
intw;
cin>
w;
switch(w)
{
case1:
cout<
输入城市的名字和坐标"
createList(L);
break;
case2:
请输入城市名,你将会得到它的坐标:
cin>
name;
getList(L,name);
break;
case3:
输入一个坐标和距离,你将会得到少于这个距离的城市名:
x>
y>
z;
disList(L,x,y,z);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 城市 问题