Código de idioma C del mapa electrónico
fscanf(p, "s", s[i].flag);
//
Guardar información de la carretera en la memoria
fscanf(p, "s", s[i].brunch);
//
La información de la carretera se guarda en la memoria
fscanf(p , "s" , s[i].dispclass);
//
Colocar la información de la carretera en la memoria
fscanf(p, "s", s[i].Roadname);
//
Guardar la información de la carretera en la memoria
fscanf(p, "s", s[i]. sign_two);
//
Colocar la información de la carretera en la memoria
}
if(s[1].sign_one! = "")
//
Determine si la información del archivo se escribió correctamente
printf("\n\t\t\t
Información del archivo
-------
Escribiendo en la memoria correctamente
\n\n");
ma_interf ();
//
Volver a la interfaz principal
}
else
{
ma_interf();
//
Volver a la interfaz principal
}
} p>
/ ********************************************** ******* *******************************
****** ****
*
Nombre de la función: SortData
*
*
Descripción de la función: p>
Para el archivo leído La información se ordena y los resultados ordenados se muestran en la pantalla
*
*
Fecha: 2012/6 /21
*
********************************* *************** ************************************* **
*******/
void SortData(tagMap_t s[])
{
int p>
i=0, k=0, j=0, m=0, n=7;
//i k
es la variable de control del bucle
n
registro
La longitud del linkid
m
El número de registros exitosos marcas ordenadas
char temp[50];
printf("\n\n\t\t\t
Clasificando...... Por favor ¡espera
!
......
\n\n\t\t
Una vez completada la clasificación, todos se mostrará automáticamente según el
LinkID
número de información vial de pequeño a grande
\n\n");
. for(n=8; nlt; 13; n)
{
for(i=0; ilt; (nsizecount-2); i )
{
if((int)strlen(s[i].
linkid) == n)
//
Juzga si la longitud de
linkid
es
n
{
k=i;
//
Registro
ID de enlace
El subíndice de la matriz
s
cuando la longitud es
n
p>
i
j=i;
//
Registrar
Linkid
El la longitud es p>
n
Cuando
El subíndice de la matriz
s
i p>
for(k=k 1; klt; (nsizecount-2); k )
//
Continuar con la siguiente iteración p>
Anillo
{
if((int)strlen(s[k].linkid) == n)
// p>
Determine si la longitud de
linkid
es
n
{
if(strcmp(s[i].linkid, s[k].linkid)gt; 0)
//
Comparar
linkid
Sus tallas cuando sus largos son iguales
n
{
i= k;
//
Grabar
Grabar
Siguiente
Cuándo
Anterior
Recuperar
el subíndice
linkid
s
más pequeño de la matriz
p>}
}
}
strcpy(ss[m].linkid, s[i].linkid );
//
El mínimo en este momento
linkid
put
array
s
La información se almacena en
ss
array
strcpy(ss[m].flag, s [i].flag);
//
En este momento el más pequeño
linkid
poner
array
s
La información se almacena en el
ss
array
strcpy(ss[ m].brunch, s[i].brunch
//
En este momento, el mínimo
linkid
es el
matriz
< La información de p>sse almacena en la matriz
ss
p>
strcpy(ss[m].dispclass, s[i ].dispclass);
//
En este momento el mínimo
linkid
put
array
La información de p>
s
se almacena en el
ss
matriz
strcpy(ss[m].Nombre de la carretera, s[i].Nombre de la carretera);
//
Esta
vez
más
pequeña
linkid
Almacena la información de la matriz
s
en
<p>ss
En matriz
strcpy(temp, s[j].linkid
//
Intersección); p> p>
Reemplazar
s[i]
y
s[j]
en
Linkid
Información
strcpy(s[j].linkid, s[i].linkid);
strcpy(s[i]. linkid, temperatura);
strcpy(temp, s[j].flag
//
Intercambio
s[); i ]
Información de
bandera
en
s[j]
strcpy(s[j].flag, s[i].flag);
strcpy(s[i].flag, temp);
strcpy(temp, s [j].brunch);
//
Intercambio
s[i]
y
s[j]
Información
brunch
strcpy(s[j].brunch, s[i]. brunch) ;
strcpy(s[i].brunch, temp);
strcpy(temp, s[j].dispclass);
// p>
Intercambio
Intercambio
s[i]
y
s[j]
Información de
dispclass
strcpy(s[j].dispclass, s[i].dispclass);
strcpy (s[i].dispclass, temp);
strcpy(temp, s[j].Roadname);
//
Intercambio
s[i]
y
s[j]
Nombre de la carretera
Información
stracpy(s[j].Nombre de la carretera, s[i].Nombre de la carretera);
strcpy(s[i].Nombre de la carretera, temp);
p>m;
//
Grabar
Grabar
Ya
programado
p >Número de información de carreteras secuenciadas correctamente
i=j;
if(m830
==
0 )
//
Ordenar mensaje de progreso
.
Control de salida
830
Simplemente genera
1
línea
.
Y el progreso es solo 100
{ p>
printf(".");
}
if(m100==0) //
Control de porcentaje de salida
{
if(((float)m/(nsizecount-2))*100lt;10)
{
printf(".1f \b\b\b\b"
((flotador)m/(nsizecou
nt-2))*100);
}
si no (((float)m/(nsizecount-2))*100gt;=10)
{
printf(".1f\b\b\b\b\b"
,
((float)m/(nsizecount- 2))*100);
}
}
}
}
}
sistema("cls");
for(i=0;ilt;m;i)
{
printf(" p> p>
s
s
s
s
s
\n" p>
,
ss[i].linkid
,
ss[i].flag
,
p>
ss[i].brunch
,
ss[i].dispclass, ss[i].Roadname); p>
}
printf("\n\n\t\t
Ordenar correctamente
-----
Presione
LinkID
El número se muestra de pequeño a grande
\n\n");
ma_interf() ;
//
Ordenación completa
Volver a la interfaz principal
}
/*** ************* ************************************* ************** ****************
************
*
Nombre de la función: Actualizar p>
*
*
Descripción de la función:
Actualizar los datos y almacene los resultados actualizados en un archivo nuevo
p>
*
*
Fecha: 22/6/2012
*
******* ********************************** ******************* *************************
** ********/
Actualización nula (tagMap_t s[ ])
{
ARCHIVO *pp;
//
Definir puntero de archivo
Se utiliza para crear un nuevo
nuevo archivo
Archivo
char pc[60 ];
int i=0;
//
Variable de control de bucle
if((pp=fopen("e: \\newfile.txt " , "w")) == NULL)
//
Determine si el archivo se insertó correctamente
{
printf("
La creación del archivo de actualización falló... p>
");
exit(0); >}
for(i=0; ilt; (nsizecount-2); i )
{
fprintf(pp , "#\t") ;
fprintf(pp , "s\t" , ss[i].lin
kid);
//
La información del archivo se escribe
newfile
en el archivo
fprintf( pp , "s\t" , ss[i].flag
//
Escribir información del archivo
nuevo archivo
En el archivo
fprintf(pp, "s\t", ss[i].brunch);
//
Escribe la información del archivo
nuevo archivo
En archivo
fprintf(pp, "s\t", ss[i].dispclass);
// p>
Escriba la información del archivo
newfile
en el archivo
fprintf(pp, "s\t", ss[i].Roadname) ;
//
Escribe la información del archivo
newfile
en el archivo
fprintf(pp, " #");
fprintf(pp, "\n");
}
fclose(pp);
//
Puntero de cierre de archivo
pp
if((pp=fopen("e:\\newfile.txt", "r")) == NULL )
//
Abrir archivo
nuevo archivo
Proporcionar datos para actualizar el archivo
{
printf("falla la apertura del nuevo archivo\n");
salir(0);
}
ARCHIVO *ppp;
//
Puntero de archivo
usado para crear
archivo de actualización
p>if((ppp=fopen("e:\\update.dat" , "wb")) == NULL)
//
Juzgar archivo Si la creación fue exitosa
{
printf("
Error al crear el archivo de actualización
\n");
salir(0);
}
sistema("cls");
printf("\n\n\t\t\ t\t
El archivo se está actualizando...
\n");
//
Se proporciona información rápida
for(i=0; ilt; (nsizecount-2); i )
{
fread(pc, 56, 1, pp);
//newfile
Escribe información del archivo
pc
array
fwrite(pc, 56, 1, ppp);
//
Matriz
pc
la información se escribe
actualización
Archivo binario
}
printf("\n\n\t\t\t\t
Archivo actualizado correctamente
\n\n\n\t\t\t
El archivo de actualización se almacena en
update.dat
archivo
\n\n\n");
ma_interf();
//
Regresar a la interfaz principal
}
void main()
{
ma_interf(
//
Ingrese a la interfaz principal
}