数据结构课程设计报告
商品管理
——采用单链表
班 级:__________________________
姓 名:__________________________
指导教师:__________________________
成 绩:__________________________
信息工程学院
年 月 日
目 录
摘要(题目) ………………………………………………………… 3
1. 引言………………………………………………………………. 3
2. 需求分析…………………………………………………………. 3
2.1 系统概述…………………………………………………… 3
2.2 总体设计…………………………………………………… 4
2.3 功能模块设计……………………………………………. 4
3. 数据结构设计……………………………………………………. 9
4. 算法设计………………………………………………………… 9
5. 算法的实现…………………………………………………….. 11
5.1 录入商品信息…………………………………………… 11
5.2 增加商品信息…………………………………………… 12
5.3 更新商品信息…………………………………………… 14
5.4 删除商品信息…………………………………………… 17
5.5 按商品编号查询商品信息……………………………… 19
5.6 按商品名称查询商品信息………………………………… 20
5.7 查询全部信息………………………………………….. 22
5.8 主函数………………………………………………….. 23
6. 程序运行的结果...................................... 25
7.设计体会............................................. 28
8.结束语............................................... 28
参考文献............................................... 28
摘要(题目):
现实生活中,常常会遇到对各种库存的管理,本课程设计主要是对商品库
存进行管理,利用链表结构的有序表表示某商场家电部的库存模型,当有提货
或进货时需要对该链表及时进行维护,每个工作日结束以后,将该链表中的数
据以文件形式保存,每日开始营业之前,须将文件形式保存的数据恢复成链表
结构的有序表。
1.引言
随着计算机科学的迅速发展,计算机已深入到揉合社会的各个领域,它
的应用已不再局限于科学计算,以解决一些数学问题,而且可以解决一些抽象
化
的具体问题,更多地用于控制,管理及数据处理等非数值计算的处理工作,这
便为我们的日常生活提供了很多的方便,譬如说火车售票系统,学生成绩管理,
商
品管理系统,车厢调度等实际问题。如今程序设计的语言很多,有发展比较完
善高级语言,也有最基本的低级语言,然而再好的程序设计也要有一个比较清
晰的思路——算法。为了编写好一个好程序,必须分析待处理对象的特性以及
各处理对象之间的关系,于是数据结构便成为我们绝佳的选择。数据结构是计
算机程序设计的重要理论技术基础,它不仅是计算机科学的核心课程,而且已
成为其他理工专业的热门选修课。
本课程设计是对商品进行管理,而线性表是最好的选择,线性表的特点是:
在数据元素的非空有限集合中,1.存在唯一的一个被称做“第一个”的数据元素;
2.存在唯一的一个被称做“最后一个”的数据元素;3.除第一个元素之外,集合中
的每一个数据元素均只有一个前驱 ;4. .除最后一个元素之外,集合中的每一个
数据元素均只有一个后继 ;总之线性表反映数据元素之间是一种一对一的关系,
线性表的顺序表示和链式表示分别成为顺序表和链表,顺序表是随机存取,插
入、删除操作不方便,而链表对插入、删除很方便,不需要 移动大量元素, 对
于本课程设计,单链表是最好的选择。利用链表结构的有序表表示某商场家电
部的库存模型,利用链表存储家电名称、品牌、单价和数量,而且会以单价的
升序体现链表的有序性,程序主要实现链表的初始化、创建表、插入、删除、
更新数据、查询及链表数据与文件之间的转换等功能。
2.需求分析
2.1 系统概述
商品管理系统是一个对商品进行增加.删除.更新和查询的管理应用软件,用
户可以对文件中存储的商品进行增加.删除.更新.查询等操作,了解商品的编
号.名称.品牌.单价.数量和存入时间等信息,该系统给用户提供了一个简单且
友好的人机界面,用户可以根据提示输入操作进行一系列对商品名称.单价.
编号等的管理操作。
该系统对用户进行了登录验证,用户可以对商品进行增加.删除和更新,并
可对新的用户进行注册,初始化新的用户的登录和密码,注册成功后,系美
女的用户也能够用该系统查询和浏览商品列表,包括商品的编号.名称.和单
价等信息。
2.2 总体设计
本系统使用 c 语言进行开发和实现,总体思想基于结构化的程序设计,应
用高级语言程序设计中的循环.选择等控制结构实现商品管理系统的增.删.改
和查等典型功能,大量信息的存储和操作 c 语言中对文件的支持来实现,用
到了文件的打开.读写等基本操作,因此,系统的设计方法是结构化设计方法,
在 c-Free 软件中用 c 语言进行开发实现。
根据需求分析结果,商品管理系统可以分为 3 个模块:登录验证模块.商品
信息管理模块和数据保存与导入模块。这 3 个基本模块是关联的,用户运行
该系统后,进入登录验证模块,用户按照提示输入用户名和密码,系统会对
用户的身份进行验证,验证成功登录后进入商品信息管理,用户通过导入数
据后可以对商品进行增加.删除和更新的操作,操作完成后先保存数据,然后
才退出系统,否则会导致商品信息的丢失。
根据 3 个基本模块的关系可以画出总体结构图如下:
2.3 功能模块设计
2.3.1.登录验证模块
为了提高系统的安全性,需要登录验证模块的用户进行验证,用户 使
用该系统之前需要对进行登录验证,系统会提示用户输入登录名和密码,从而
调用文件中存储的该用户的信息进行校验。如果未能通过校验,则会提示用户
重新登录,用户登录到系统后才允许使用系统的功能,可进行对商品信息的增
加.删除.更新和对新用户注册的管理。
登录验证模块效果图:
2.3.2 商品信息管理模块
当用户成功登录系统是模块中的部分或全部子功能,总体来说,商品信息
管理模块的主要功能包括如下几个部分:
增加商品信息功能:当用户选择的是增加商品信息,系统会打印出编号..家
电名称.品牌.单价.数量和存入时间的字段,用户根据提示可以同时增加多条商
品信息,系统会根据商品的价格选择在链表中要插入的位置,这样做是为了以
单价的升序体现链表的有序性,商品信息增加完成后,可以按 Esc 健返回上级
菜单继续其他操作。
删除商品信息功能:同时用户输入要删除的商品编号,如在链表中找到要
删除的商品记录,则将该商品的对应信息从链表在中删除,否则同时用户链表
中没有相匹配的商品。
更新商品信息功能:同时用户输入要继续修改的商品编号,如果存在又对
应的记录,则获取用户输入的要修改的商品名称.价格等主要内容,用户输入新
的数据后就可以更新用户输入的商品编号的信息。
查询商品信息功能:系统会同时用户输入相应的操作,查询主要包括按商
品编号查询.按商品名称查询和查询全部 3 中方式继续查询,查询全部又分为以
商品编号排序和以单价排序继续查询,如果又查询结果,则向用户显示相应查
询结果的编号.家电名称.价格等信息.