C语言编程练习

习题描述

C语言编程练习

本程序的功能是对中国导航的数据中的部分道路情况数据进行整理,分析,查询,排序。

原始数据存储在一个的二进制文件中,具体的文件格式请参照 中的“逆引表格式”sheet.

在Kiwi格式中,每个道路都是被赋予了独一无二的编号,这个编号叫做LinkID,在这个文件中存储着部分道路情况的数据,他们是无序存储的(针对LinkID来说是无序的)。

提供的功能:

1) 读取, 根据LinkID重新排序输出到新的二进制文件,格式同 ”逆引表格式”。

2) 检索:

a. 根据LinkID查找指定的Link的相关情报并输出到控制台或者文件(文本格式)。

b. 查找指定 交叉Link列表示Class番号 的所有Link的集合。

c. 查找岔路数> n 的所有Link的集合, n由用户输入。

d. 指定道路名称检索。

输出格式:

#linked=1234;roadnameflag=1;brunch=2;dispclass=3; roadname=青年大街#(如果没有名称(roadnameflag == 0 ), 则不输出roadname=青年大街这个条目)

如果查到的纪录的个数>5个,则输出到指定文件中(文件放在当前目录中,请用 命名, xxx是检索次数的记录,比如第一次检索,则xxx是 001, 以此类推。)

3) 从Link情报输入文件中读取指定的Link情报,插入到中并保存,如果对应的LinkID已经存在,则替换,否则插入。(文件的格式参照 中的“Link情报输入文件格式”sheet, 是一个例子文件,大家可以自己编写这个文件)。 具体的操作是每按一次回车,就从文件中读取下一个Link的'情报,输出到界面,并且执行插入或者替换操作。

这些插入的记录需要保存到和排序后的文件中。

1. 具体要求

1). 需要划分出至少 3个或者以上的模块。