第四次上机作业
实验名称线性表的应用 ---商品信息管理程序
实验目的
( 1)熟悉线性表顺序存储结构具体实现方法;
( 2)掌握线性表的建立、插入、删除、查找、输出等基本操作算法;
( 3)提高灵活运用所学算法、采用顺序或链式线性表处理实际问题的能力;
实验内容补充超市商品信息管理系统,包括以下要求:
1.补充商品销售功能模块;
2,补充商品入库功能模块;
3,修改主函数,增加调用新功能的语句。
第四次上机作业
具体要求:
1.销售功能输入客户选择的商品编号和所需数量,若该商品存在,
计算应付的钱数并修改该商品的库存量;若无该商品或商品数量不足,则给出相应的提示信息;(必做)
能够一次售出多种不同的商品并打印购物小票(选做)
2.入库功能输入入库商品的编号,查找该商品是否存在。若存在,
修改该商品的库存量;若不存在,将该商品插入到商品信息表的最后;(必做)
第四次上机作业
提示:
1.基本的销售功能流程如下图所示,若要实现一次售出多种货物则需在此基础上加入循环结构,另外需累计所有商品的钱数并将所有售出的商品信息存储下来
( 可暂存放在一个结构体类型的一维数组中 ) 以便打印出购物小票 。
2.入库功能实现时,应先根据商品编号进行查找,之后根据查找结果的不同进行修改商品信息表的操作 。
开始输入待销售的商品的编号和所需数量找到了吗?
修改该商品库存数量并计算应付钱数
N
Y
结束在线性表中查找该商品的信息数量够卖吗?
Y
输出应付的钱数输出,无此商品,
输出,数量不足,
N
销售功能模块框架(以顺序表为例)
void SaleGoods(SeqList* L)
{
//说明部分略
//第一步:输入待销售商品的编号 tnum和数量 count,语句略
//第二步:调用 SearchList函数查找编号为 tnum的商品是否存在
//第三步:若查找到编号为 tnum的商品存放在顺序表的第 k
个位置上,且数量大于等于 count,则修改该商品库存量的值并计算应付钱数 ;若数量不足,输出相应提示信息
//若查找失败,输出相应提示信息
}
入库功能模块框架(以顺序表为例)
void AddGoods(SeqList *L)
{//说明部分略
//第一步:输入入库商品的编号 tnum和数量 count
//第二步:调用 SearchList函数查找编号为 tnum的商品是否存在
//第三步:若查找到编号为 tnum的商品存放在顺序表的第 k个位置上,则修改 L->list[k].stock的值
//若查找失败,则说明入库商品为新商品,输入商品的完整信息并将其放入顺序表的最后,表长加 1
}
附加题目:
在原商品信息管理程序中增加清库功能。
具体要求:将商品信息表中所有库存量为 0的商品信息从线性表中删除,删除前应有必要的提示信息。
清库功能的模块头为:
void ScanGoods(SeqList *L)
实验名称线性表的应用 ---商品信息管理程序
实验目的
( 1)熟悉线性表顺序存储结构具体实现方法;
( 2)掌握线性表的建立、插入、删除、查找、输出等基本操作算法;
( 3)提高灵活运用所学算法、采用顺序或链式线性表处理实际问题的能力;
实验内容补充超市商品信息管理系统,包括以下要求:
1.补充商品销售功能模块;
2,补充商品入库功能模块;
3,修改主函数,增加调用新功能的语句。
第四次上机作业
具体要求:
1.销售功能输入客户选择的商品编号和所需数量,若该商品存在,
计算应付的钱数并修改该商品的库存量;若无该商品或商品数量不足,则给出相应的提示信息;(必做)
能够一次售出多种不同的商品并打印购物小票(选做)
2.入库功能输入入库商品的编号,查找该商品是否存在。若存在,
修改该商品的库存量;若不存在,将该商品插入到商品信息表的最后;(必做)
第四次上机作业
提示:
1.基本的销售功能流程如下图所示,若要实现一次售出多种货物则需在此基础上加入循环结构,另外需累计所有商品的钱数并将所有售出的商品信息存储下来
( 可暂存放在一个结构体类型的一维数组中 ) 以便打印出购物小票 。
2.入库功能实现时,应先根据商品编号进行查找,之后根据查找结果的不同进行修改商品信息表的操作 。
开始输入待销售的商品的编号和所需数量找到了吗?
修改该商品库存数量并计算应付钱数
N
Y
结束在线性表中查找该商品的信息数量够卖吗?
Y
输出应付的钱数输出,无此商品,
输出,数量不足,
N
销售功能模块框架(以顺序表为例)
void SaleGoods(SeqList* L)
{
//说明部分略
//第一步:输入待销售商品的编号 tnum和数量 count,语句略
//第二步:调用 SearchList函数查找编号为 tnum的商品是否存在
//第三步:若查找到编号为 tnum的商品存放在顺序表的第 k
个位置上,且数量大于等于 count,则修改该商品库存量的值并计算应付钱数 ;若数量不足,输出相应提示信息
//若查找失败,输出相应提示信息
}
入库功能模块框架(以顺序表为例)
void AddGoods(SeqList *L)
{//说明部分略
//第一步:输入入库商品的编号 tnum和数量 count
//第二步:调用 SearchList函数查找编号为 tnum的商品是否存在
//第三步:若查找到编号为 tnum的商品存放在顺序表的第 k个位置上,则修改 L->list[k].stock的值
//若查找失败,则说明入库商品为新商品,输入商品的完整信息并将其放入顺序表的最后,表长加 1
}
附加题目:
在原商品信息管理程序中增加清库功能。
具体要求:将商品信息表中所有库存量为 0的商品信息从线性表中删除,删除前应有必要的提示信息。
清库功能的模块头为:
void ScanGoods(SeqList *L)