链表的维护与文件形式的保存
1
《数据结构》课程设计报告
姓名:裔红艳 学号:06030546 专业:计算机师范
一、课题:链表的维护与文件形式的保存
以有序链表结构表示某家电商场的库存模型。提/进货时,需对链表进行维护。
每个工作日结束后,应将该链表以文件形式保存;每日营业前,应从文件中恢复
该有序链表结构。
链表接点的数据域包括家电名称,品牌,单价和数量,以单价的升序体现链
表的有序性。程序包括:初始化,创建表,插入,删除,更新数据,查询及链表
数据与文件之间的转换等;
二、功能、算法、体会描述:
系统主要有两个界面,第一个界面是查看界面,任何人可以查看到多个库存或日志文件
(050902--050905),如果某个库存文件丢失了,可以通过操作恢复,在这也可以也可以查看到某
日的金额统计情况,第二个界面是操作界面,只有操作员可以通过密码进入,可以对某个指定
的库存文件进行进货,提货,删货,排序,查询操作,操作的情况可以被系统随时保存,当您想退
出此界面时可保存库存和日志情况,文件名可自定,保存完后,自动退回到第一个界面,您当
然就可以在查看界面中查看到您刚刚保存的库存或者日志文件了。
1.库存查看功能:
基本思想:利用 SetupGoodsList( )函数,将库存文件内容先转成链表形式,然后利用
TraverseList( )函数,遍历一个链表,就可以直接显示查看到了。
具体步骤: 先将文件读到结构体中,读满一个结构体内容就将此结构体连到定义好的链表
上,这儿利用了 InsertRear( )函数,一直这样读下去只到文件里读不到内容为止,语句描述
如下:
while(ifstr>>g.code)
{
ifstr>>g.name>>g.mark>>g.minq>>g.curq;
InsertRear(L,g);
}
2.日志查看功能:
日志文件的内容看起来跟库存文件差不多,但是里面多了个“操作情况”这一览,所以
在读的时候要注意这一点,实现这个功能的我编了 rizhichakan( )函数
基本思想: 将文件内容独到结构体数组中,然后再显示出来
具体步骤:
先读一个字符串到数组 d[ ]中,然后用 strcmp( ),判断是不是“j”字符串,如果是就连读 5
个字符串到定义好的结构体数组中,因为这句话是放在 while( )循环里的,要能够的起循环
就要不断的给 d[ ]赋新值,所以循环语句中还有一句:再读第 6 个字符串到 d[ ]中,只要符
合循环条件的都会被连续加到结构体数组中,
语句描述为: