计算机软件基础二-数据结构实验指导

计算机软件基础二-数据结构实验指导

ID:8851037

大小:158.00 KB

页数:32页

时间:2018-04-09

计算机软件基础二-数据结构实验指导_第1页
计算机软件基础二-数据结构实验指导_第2页
计算机软件基础二-数据结构实验指导_第3页
计算机软件基础二-数据结构实验指导_第4页
计算机软件基础二-数据结构实验指导_第5页
资源描述:

《计算机软件基础二-数据结构实验指导》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验一线性表的应用1.实验名称商品信息管理程序。2.实验学时4学时。3.实验目的(1)复习和巩固线性表中的相关概念和知识;(2)熟悉线性表的顺序存储或链式存储结构的具体实现方法;(3)掌握线性表的建立、插入、删除、查找、输出等基本操作算法;(4)提高灵活运用所学算法、采用顺序线性表或链式线性表处理实际问题的能力;(5)提高学生综合运用所学知识分析问题和解决问题的能力。4.实验要求本实验要求使用高级编程语言C语言编写一个商品信息管理程序,商品信息表采用顺序存储结构或链式存储结构存放。该程序中各功能均需采用独立的模块实现;程序应具有菜

2、单选择功能;并允许用户在运行该程序过程中多次选择执行不同的功能。要求学生对整个系统的框架进行设计,规划数据的存储结构,编写出重要模块的算法。每人一组完成,上机之前要有预习准备。有兴趣的同学可在程序中增加商品入库的功能。实验设备:PC机一台,C语言IDE编程环境MicorosoftVisualC++6.0或者TurboC2.0。325.实验内容编写一个超市商品信息管理程序,实现超市商品信息管理中的录入、插入、删除、查找、销售及显示等功能。商品信息包括商品的编号、名称、单价和数量等四项。具体商品信息的数据类型定义如下:typedefs

3、tructgoodstype{longintnum;charname[20];intprice;intstock;}GOODS;(1)录入功能:录入商品信息表中所有商品的信息,以顺序或链式存储结构存放,原始商品信息表中的商品信息按商品编号升序排列;(2)插入功能:输入一种新商品的信息,将新商品信息插入到线性表中的恰当位置,使商品信息表中的商品信息依然按商品编号有序排列;(3)删除功能:给定一种商品的编号,删除线性表中该商品的信息;(4)查找功能:给定一种商品的编号,在线性表中查找该商品的信息;(5)显示功能:输出线性表中所有商品的

4、信息;(6)销售功能:输入客户选择的商品编号和所需数量,若该商品存在,计算应付的钱数并修改该商品的库存量;若无该商品或商品数量不足,则给出相应的提示信息;(必做)能够一次售出多种不同的商品并打印购物小票(选做)6.算法说明(1)录入功能即完成线性表的建立,输入商品信息时,最好以结束标志控制输入过程的进行。例如当输入的商品编号为-1时,商品信息录入结束。参考程序一:(顺序线性表)typedefstruct{GOODSlist[MAXLEN];intlength;}SeqList;//顺序表类型定义,list为存放元素值的一维数组,l

5、ength用于存放表长32voidInit_List(SeqList*L)//初始化顺序表,以输入商品编号为-1作为输入结束标志{longtnum;intn=0;printf("inputnum:");scanf("%ld",&tnum);while(tnum!=-1){L->list[n].num=tnum;printf("inputname:");scanf("%s",(L->list[n]).name);printf("inputprice:");scanf("%d",&(L->list[n].price));printf(

6、"inputstock:");scanf("%d",&(L->list[n].stock));n++;printf("inputnum:");scanf("%ld",&tnum);}L->length=n;}参考程序二:(链式线性表)//结点类型定义,data用于存放结点的数据值,next用于存放下一结点的地址typedefstructnodetype{GOODSdata;structnodetype*next;}NODE;NODE*Create_Link()//尾接法创建链表,以输入商品编号为-1作为输入结束标志{NODE*he

7、ad,*p,*s;32GOODSx;longtnum;head=(NODE*)malloc(LEN);head->next=NULL;p=head;printf("inputnum:");scanf("%ld",&tnum);while(tnum!=-1){x.num=tnum;printf("inputname:");scanf("%s",x.name);printf("inputprice:");scanf("%f",&x.price);printf("inputstock:");scanf("%d",&x.stock);s=

8、(NODE*)malloc(LEN);s->data=x;s->next=NULL;p->next=s;p=s;printf("inputnum:");scanf("%ld",&tnum);}return(head);}(2)插入功能编写该插入算法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。