当前位置:首页 » 编程语言 » c语言学校地图
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言学校地图

发布时间: 2022-10-03 14:01:37

c语言如何显示一块局部地图图片

我使用mfc的话,将这个图放入内存,然后获得这个图的需要部分,作为一个新的图在内存中,大致的思路应该是这样吧,至于纯c,可能要自己写图片的相关操作函数,解码,获取需要部分的数据。

㈡ C语言中提示用户输入8行8列的数组和表示字符,绘制地图

#include<stdio.h>
voidmain()
{
inta[8][8],i,j;
printf(":* Pleaseinputyourmap:(10) ");
for(i=0;i<8;i++){
for(j=0;j<8;j++){
scanf("%1d",&a[i][j]);
}
}
printf(" Nowdrawingthemap... ");
for(i=0;i<8;i++){
for(j=0;j<8;j++){
printf("%c",(a[i][j]==0)?'_':'*');
}
printf(" ");
}
}

请采纳

㈢ 怎么样用c语言画一个韩国地图

可以用gtk实现,使用cairo库。。

㈣ 如何用C语言实现电子地图的源代码

用C语言?很困难的。 追问: 那能写出来么?? 回答: 要看你是写什么样的地图,需要有什么功能等等。

㈤ C语言如何加载百度地图请问下C语言如何加载百度地图

先去网络地图申请一个app key。
c语言的话,比较麻烦。你得先通过socket连接网络,然后自己拼一段http协议,发给网络。

㈥ C语言数组输出地图的问题

因为i的值小于22次才会循环,你设置a[22][9]是1,所以循环不到它就结束循环了,并且大哥你下标越界了...

㈦ 电子地图C语言代码

fscanf(p , "%s" , s[i].flag);

//
道路信息放入内存中

fscanf(p , "%s" , s[i].brunch);

//
道路信息放入内存中

fscanf(p , "%s" , s[i].dispclass);

//
道路信息放入内存中

fscanf(p , "%s" , s[i].Roadname);

//
道路信息放入内存中

fscanf(p , "%s" , s[i].sign_two);

//
道路信息放入内存中

}

if(s[1].sign_one!="")

//
判断文件信息是否写入成功

printf("\n\t\t\t

文件信息
-------
写入内存成功
\n\n");

ma_interf();

//
返回主界面

}

else

{

ma_interf();

//
返回主界面

}

}

/******************************************************************************
********
*
Functionname: SortData

*
*
Function Description:
对读取出来的文件信息进行排序并将排序结果显示在屏幕上

*
*
Date:2012/6/21

*

*******************************************************************************
*******/

void SortData(tagMap_t s[])
{

int

i=0 , k=0 , j=0 , m=0 , n=7;

//i k
为循环控制变量

n
记录
linkid
的长度

m
标记成功排序的个数

char temp[50];

printf("\n\n\t\t\t
排序中…………请等待
!
…………
\n\n\t\t
排序完成后将自动按
LinkID
编号由小到大显示所有道路信息
\n\n");

for(n=8; n<13; n++)

{

for(i=0; i<(nsizecount-2); i++)

{

if((int)strlen(s[i].linkid) == n)

//
判断
linkid
的长度是否为
n

{

k=i;

//
记录

Linkid
长度为
n


数组
s
的下标
i

j=i;

//
记录

Linkid
长度为
n


数组
s
的下标
i

for(k=k+1; k<(nsizecount-2); k++)

//
继续进行下一次循


{

if((int)strlen(s[k].linkid) == n)
//
判断
linkid
的长度
是否为
n

{

if(strcmp(s[i].linkid , s[k].linkid)>0)
//
比较
linkid
的长度同为
n
时它们的大小

{

i=k;

//






索到最小
linkid

s
数组的下标

}

}

}

strcpy(ss[m].linkid , s[i].linkid);

//
此时最小
linkid

数组
s
的信息存放到
ss
数组中

strcpy(ss[m].flag , s[i].flag);

//
此时最小
linkid

数组
s
的信息存放到
ss
数组中

strcpy(ss[m].brunch , s[i].brunch);
//
此时最小
linkid

数组
s
的信息存放到
ss
数组中

strcpy(ss[m].dispclass , s[i].dispclass);
//
此时最小
linkid

数组
s
的信息存放到
ss
数组中

strcpy(ss[m].Roadname , s[i].Roadname);

//




linkid
把数组
s
的信息存放到
ss
数组中

strcpy(temp , s[j].linkid);

//


s[i]

s[j]

linkid
的信息

strcpy(s[j].linkid , s[i].linkid);

strcpy(s[i].linkid , temp);

strcpy(temp , s[j].flag);

//
交换
s[i]

s[j]

flag
的信息

strcpy(s[j].flag , s[i].flag);

strcpy(s[i].flag , temp);

strcpy(temp , s[j].brunch);

//
交换
s[i]

s[j]

brunch
的信息

strcpy(s[j].brunch , s[i].brunch);

strcpy(s[i].brunch , temp);

strcpy(temp , s[j].dispclass);

//


s[i]

s[j]

dispclass
的信息

strcpy(s[j].dispclass , s[i].dispclass);

strcpy(s[i].dispclass , temp);

strcpy(temp , s[j].Roadname);

//
交换
s[i]

s[j]

Roadname
的信息

strcpy(s[j].Roadname , s[i].Roadname);

strcpy(s[i].Roadname , temp);

m++;

//




序成功道路信息的个数

i=j;

if(m%830
==
0)

//
排序进度提示符

.
的输出控制

830
时刚好输出

1


.
且进度刚好
100%

{

printf(".");

}

if(m%100==0) //
控制百分数输出

{

if(((float)m/(nsizecount-2))*100<10)

{

printf("%.1f%%%\b\b\b\b"
,
((float)m/(nsizecount-2))*100);

}

else if (((float)m/(nsizecount-2))*100>=10)

{

printf("%.1f%%%\b\b\b\b\b"
,
((float)m/(nsizecount-2))*100);

}

}

}

}

}

system("cls");

for(i=0;i<m;i++)

{

printf("

%s

%s

%s

%s

%s

\n"
,
ss[i].linkid
,
ss[i].flag
,
ss[i].brunch
,
ss[i].dispclass , ss[i].Roadname);

}

printf("\n\n\t\t
排序成功
-----

LinkID
编号由小到大显示完成
\n\n");

ma_interf();

//
排序完成

返回主界面

}

/******************************************************************************

********
*
Functionname:Update

*
*
Function Description:
对数据进行更新,并将更新后的结果存入新的文件中

*
*
Date:2012/6/22

*

*******************************************************************************
*******/

void Update (tagMap_t s[])
{

FILE *pp;

//
定义文件指针

用来创建新的
newfile
文件

char pc[60];

int i=0;

//
循环控制变量

if((pp=fopen("e:\\newfile.txt " , "w")) == NULL)

//
判断穿件文件是否成功

{

printf("
更新文件创建失败……
");

exit(0);

}

for(i=0; i<(nsizecount-2); i++)

{

fprintf(pp , "#\t");

fprintf(pp , "%s\t" , ss[i].linkid);

//
文件信息写入
newfile
文件中

fprintf(pp , "%s\t" , ss[i].flag);

//
文件信息写入
newfile
文件中

fprintf(pp , "%s\t" , ss[i].brunch);

//
文件信息写入
newfile
文件中

fprintf(pp , "%s\t" , ss[i].dispclass);

//
文件信息写入
newfile
文件中

fprintf(pp , "%s\t" , ss[i].Roadname);

//
文件信息写入
newfile
文件中

fprintf(pp , "#");

fprintf(pp , "\n");

}

fclose(pp);

//
关闭文件指针
pp

if((pp=fopen("e:\\newfile.txt" , "r")) == NULL)

//
打开文件

newfile

为更新文件提
供数据

{

printf("the newfile open fail\n");

exit(0);

}

FILE *ppp;

//
文件指针

用来创建
update
文件

if((ppp=fopen("e:\\update.dat" , "wb")) == NULL)

//
判断文件创建是否成功

{

printf("
更新文件创建失败
\n");

exit(0);

}

system("cls");

printf("\n\n\t\t\t\t
文件更新中……
\n");

//
给出提示信息

for(i=0; i<(nsizecount-2); i++)

{

fread(pc , 56 , 1 , pp);

//newfile
文件信息写入

pc
数组中

fwrite(pc , 56 , 1 , ppp);

//
数组
pc
的信息写入
update
二进制
文件中

}

printf("\n\n\t\t\t\t
文件更新成功
\n\n\n\t\t\t
更新文件存放在
update.dat
文件中
\n\n\n");

ma_interf();

//
返回主界面

}

void main()
{

ma_interf();

//
进入主界面

}

㈧ C语言图的应用。根据所给的全国地图建立相应的数据存储。请高手帮忙写个算法把这个图存在txt文件里。

以简单起见,文本文件可以采用以下格式:
6 # 城市总数
bj, 北京, N39"92', E116"46', # 每一行一个城市,依次为:id、名称、纬度、经度
tj, 天津, N39"10', E117"10',
sy, 沈阳, N41"80', E123"45',
xz, 徐州, N34"16', E117"12',
zz, 郑州, N34"44', E113"42',
hhht, 呼和浩特, N40"48', E111"38',
9 # 路径总数
bj, sy, 627, # 每一行一条路径,依次为:起点、终点、距离
bj, tj, 137,
bj, zz, 695,
bj, hhht, 668,
sy, tj, 704,
tj, xz, 674,
tj, zz, 575,
xz, zz, 349,
xz, hhht, 694,

数据结构可以定义为:
typedef struct MAP_NODE {
char id[16];
char name[16];
char latitude[32];
char longitude[32];
} MapNode; // 城市
typedef struct MAP_ROUTE {
char from_id[16];
char to_id[16];
int weight;
} MapRoute; // 路径
typedef struct MAP {
int node_count;
GraphNode* node_list;
int route_count;
GraphRoute* route_list;
} Map; // 地图

读写文件就是个序列化/反序列化的过程,很简单,就不说了。

㈨ 如何用C语言制作学校地图

因为所有的图像处理软件(例如:制图软件等),都需要涉及到:数据结构、计算机图形学的理论知识、以及相关的数学模型。

故如果想用 C 语言实现制作整个学校地图的功能,那么肯定不是简单地使用 C 语言的本身语句、以及语法就能够完成的。还必须要学习计算机软件专业的其他相关的数学课程、以及计算机软件专业的一些专业课程(例如:计算机图形学就是必不可少的课程)。

㈩ 用C语言怎么编写游戏地图,求详解

可以说个简单点的,就是用数组,然后在每个位置进行前后左右判断,0可过1不可过,即可写个类似迷宫的小程序!我觉得还有用链表来实现的!