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