C语言课设报告(2)

2019-01-26 12:22

开始 载入信息 State? 按下的键为? …….. 对于不同的按键,调用相应函数,同时改变state变量

2. 增加数据

对于不同的状态,增加数据的操作是不同的,当处于显示省份列表状态下时,按下F3键时,进入添加省份节点界面。在此界面下,系统调用了add_province这个函数,会提示用户输入省份的名字和简介。

同理,当处于显示城市列表和景点列表状态下时,相应增加的节点为城市节点和景点节点。

按下F3 State=? 省份列表 城市列表 景点列表 调用add_province 调用add_city 调用add_sce 添加结束

3. 删除数据

删除数据的程序结构和增加数据的结构相同,都是根据当前状态执行不同的函数,达到删除不同数据的目的。每当进行一个删除操作时,都将p1,p2,p3中对应的那一个结构体进行删除操作。

4. 修改数据

修改数据的程序结构和增加数据的结构也是一样的,但是具体执行的函数有差别,该函数的流程图如下:

开始修改 ESC 检测按键 结束修改 字符 回车 F6 将字符存入缓存区 将当前修改项修改为缓存区的内容 跳过当前项,进行下一项的修改

5. 搜索

搜索功能整合到一个函数,search_all

进入该函数后,程序要求用户输入搜索命令,命令的格式为:

%+keyword 搜索景点名字中含有keyword的所有条目,多个关键词则匹配所有出现过其中任一关键词的条目,没输入关键词则匹配所有条目, 匹配关键词时忽略大小写的区别。

@+province 限制所有结果必须位于该省

&+city 限制所有结果必须位于该城市

#+number1+,+number2+,+number3+,

精确搜索编号为number1-number2-number3的景点,number1为所在省的编号,number2为该省下该市的编号,number3为该市下该景点的编号。

搜索结果返回到一个结构体数组中:

struct result {

ptr_sce result;/*指向搜索结果的景点的指针*/

char keynum; /*该景点的名字里含有关键词的个数*/

ptr_province p1; /*指向搜索结果所在省份的结构体的指针*/ ptr_city p2; /*指向搜索结果所在城市的结构体的指针*/ };

流程图如下:

开始搜索 获取用户的搜索命令(调用getorder函数解析用户输入的字符串) 定位省份和城市 遍历对应位置的链表搜索关键字 返回到result结构数组 结束搜索

6. 数据统计和存盘功能

在各个界面,都会实时显示被选中的结构体中的统计信息(景点数目和城市数目)

每当退出系统时,系统会自动将系统的数据存为三个dat文件,放于C盘根目录下。

每次进入系统时,系统会自动打开c盘下的dat文件,若不存在,则自动创建一份初始数据。

五、 实验结果

1. 主界面


C语言课设报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中物理常用思想方法的归纳与分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: