
不用找源码,安装一个VSnet 2005或2008,安装ArcGIS Enigne 92 Develope Kit for NET 或93,直接在VS的IDE里面配置这些功能就行了,里面的SQL查询、距离测量、缓冲区分析那是要自己开发,不过简单,你必须学AO。建议你不要找什么源码,动手摸索了,这样对你才有好处。如果是为了完成任务的那种心态,对自己以后就业不好。
测距就用AO的INewLineFeedback画线判断一个IPolyline的长度
缓冲就用AO的ITopologicalOperator 接口的Buffer方法来做。
地图坐标显示功能比较简单,给MapControl加一个onmousemove事件,移动时获得地图的坐标mapx,mapy,显示在状态条中。
SQL查询就用IQueryFilter根据你输入的SQL进行查询,查询后,通过IFeatureCursor接口访问这些IFeature,通过IFeature的get_value方法获得每个IFeature的属性值。
编辑工具就只用配置Editor工具按钮放到你的toolbarcontrol中
以上都是在ArcGIS Engine里面实现的方法。自己动手弄吧,多实践,对你有帮助。
约瑟夫环:
约瑟夫环问题的一种描述是:编号为123……n的n个人按顺时针方向围坐一圈
,每人手持一个密码(正整数),开始任意选一个整数作为报数上限值,从第一
个人开始顺时针自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密
码作为新的m值,从他顺时针下一个人开始重新从1开始报数,如此下去直到所有
的人全部都出列为止。试设计程序实现。
要求:利用循环链表存储结构模拟此过程,按照出列的顺序打印各人的编号。
测试数据:m的值初始为20:密码3 ,1,7,2,4,8,4。
正确的结果:6,1,4,7,2,3,5。
提示:程序运行后首先要求用户指定初始报数上限。然后读取各人的密码。设
n<30。
typedef struct node
{
int num,code;
struct node next;
}lnode;
void main()
{
int i,j,key,n; /i,j为记数器,key为输入的密码,n为人的总个数/
lnode p,s,head;
head=(lnode )malloc(sizeof(lnode)); /为头结点分配空间/
p=head;
printf("Please enter the num of the person:"); /输入人的总个数/
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("Person %d",i);
printf(" code: ");
scanf("%d",&key); /输入各个人的密码/
s=p;
p=(lnode )malloc(sizeof(lnode)); /创建新的结点/
s->next=p;
p->num=i;
p->code=key;
}
p->next=head->next;
p=head;
head=head->next;
free(p);
p=head;
do
{
printf("\nPerson%d Code:%d",p->num,p->code); /输出链表/
p=p->next;
}while(p!=head);
printf("\nPlease enter your first key:"); /输入第一个数/
scanf("%d",&key);
do
{
j=1; /j为记数数/
p=head;
while(j<key)
{
s=p;
p=p->next;
j++;
}
i=p->num;
key=p->code;
printf("\nThe out of the num:");
printf("Person%d",i);
s->next=p->next;
head=p->next; /重新定义head,下次循环的开始结点/
free(p);
n--; /每循环一次人是减1/
}while(n>0);
getch();
}
>
以上就是关于vb课程设计 关于GIS的全部的内容,包括:vb课程设计 关于GIS的、我选的是用VB编写约瑟夫问题模拟器,课程设计摘要怎么写、vb课程设计:蝴蝶翩翩等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)